home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / bbs_util / nefd235.zip / NEF.DOC < prev    next >
Text File  |  1996-06-14  |  122KB  |  2,971 lines

  1.         **************************************************************
  2.         *                                                            *
  3.         *                                                            *
  4.         *                   **   ** ******* *******                  *
  5.         *                   ***  **  **   *  **   *                  *
  6.         *                   **** **  ** *    ** *                    *
  7.         *                   ** ****  ****    ****                    *
  8.         *                   **  ***  ** *    ** *                    *
  9.         *                   **   **  **   *  **                      *
  10.         *                   **   ** ******* ****                     *
  11.         *                                                            *
  12.         *                                                            *
  13.         *                        Version 2.35                        *
  14.         *                                                            *
  15.         *      File Distribution for "BinkleyTerm Style" Systems     *
  16.         *                                                            *
  17.         *                                                            *
  18.         **************************************************************
  19.         *                                                            *
  20.         *       (C) Copyright 1991-1996  by  Alberto Pasquale        *
  21.         *                                                            *
  22.         *           A L L   R I G H T S   R E S E R V E D            *
  23.         *                                                            *
  24.         **************************************************************
  25.         
  26.         
  27.             "BinkleyTerm" is trademark of Bit Bucket Software, Co.
  28.         
  29.         
  30.  
  31.                 NEF 2.35 User's Manual, by Alberto Pasquale
  32.         
  33.         
  34.                                   INTRODUCTION
  35.         
  36.         
  37.         -> For licensing information, please see License.Doc.
  38.         
  39.         Thanks for evaluating NEF: a "New Echo Files" distribution
  40.         system.
  41.         
  42.                                  Main Features
  43.         
  44.         
  45.         - It works on systems with a Binkley Style outbound and
  46.           *.MSG or Squish message base.
  47.         
  48.         - File Import/Forward/Hatch via the standard .TIC system,
  49.           initially implemented by Tick.
  50.         
  51.         - File "Areafix", to automatically link/unlink file areas via
  52.           netmail messages. Wildcards can be used to make multiple
  53.           link/unlink requests easier.
  54.         
  55.         - Support for "FileBone.Na style" files.
  56.         
  57.         - Automatic forwarding of requests for missing areas to the
  58.           uplinks.
  59.         
  60.         - Fast Squish netmail scan.
  61.         
  62.         - Flexible file announcements via echo or netmail messages.
  63.           Wildcards in file area tags allow easy configuration of
  64.           multiple announcement areas for different groups of file
  65.           areas.
  66.         
  67.         - Full multitasking support. File sharing problems are handled
  68.           wherever necessary.
  69.         
  70.         - Full 4D operation; no direct support for ancient pointnet
  71.           addressing method. However points addressed via pointnet can
  72.           obviously be seen with their pointnet adress.
  73.         
  74.         - Different outbounds for different domains are supported the
  75.           same way as in Squish, via zone mapping.
  76.         
  77.         - Very flexible MultiAka support. You can use different
  78.           addresses in different areas, different addresses for
  79.           different downlinks in the same area, etc.
  80.         
  81.         - Outbound analysis and report to message areas and/or file.
  82.         
  83.         - "Passthru" Area support, with optional deletion-age parameter.
  84.         
  85.         - Long Description ("LDESC" keyword) support.
  86.         
  87.         - Multiple "Desc" support.
  88.         
  89.         - Multi-line description support for Files.Bbs.
  90.         
  91.         - EchoToss.Log support.
  92.         
  93.         - Automatic creation of new areas from authorized uplinks.
  94.         
  95.         - Automatic linking of specified downlinks to selected new
  96.           areas when they are automatically created.
  97.         
  98.         - Check on imported description strings, to avoid trojan horses
  99.           using certain control characters.
  100.         
  101.         - Clean and compact link configuration file.
  102.         
  103.         - Easy addition (on area TAG basis) of text strings at the head
  104.           of imported descriptions, to allow inclusion of flags and
  105.           download counters in selected areas.
  106.         
  107.         - Easy partial/total area split/merge: you can forward
  108.           certain files to a new area TAG.
  109.         
  110.         - Support for Maximus 3.xx FileBase: when the file areas
  111.           are modified the filebase is internally updated (no need for
  112.           external FB/FBP).  The additional UniFiles.Idx (with no
  113.           duplicates) created by QFB (my FB/FBP substitute) is also
  114.           maintained.
  115.         
  116.         - Automatic addition of new areas to the Maximus 3.xx
  117.           configuration.
  118.         
  119.         - Support for Squish configuration file, to get the
  120.           information about path, type and primary address of message
  121.           areas directly from it.
  122.         
  123.         - (OS/2) Support for "Feature DLLs": developers can find the
  124.           necessary Header file and an example C source included in
  125.           the NEF package (Nefeat.H, Feature.C, Feature.Dll).
  126.         
  127.                                     CREDITS
  128.         
  129.         "BinkleyTerm" is a trademark of Bit Bucket Software Co.
  130.         
  131.         This program uses the Squish "MsgAPI" code, Copyright 1991-1994
  132.         by Lanius Corporation. "Squish" and "Maximus" are trademarks of
  133.         Lanius Corporation.
  134.         
  135.         "Tick" is Copyright by Barry Geller
  136.         
  137.         The archivers referred-to throughout this documentation are
  138.         Copyright and/or trademarks of the respective owners.
  139.  
  140.         
  141.                                OVERALL OPERATION
  142.         
  143.         
  144.         When invoked, first of all NEF looks into the netmail area(s)
  145.         for netmail messages to the Link Robot (Areafix like) and
  146.         executes the commands required; then it looks for new .TIC files
  147.         in the netfile area(s) and forwards them.
  148.         
  149.         The ingoing files are moved to their destination directory and
  150.         the description is appended to the files.bbs.
  151.         
  152.         A careful check is operated on the text of the description, to
  153.         avoid trojan horses that use special control characters.
  154.         
  155.         Existing old descriptions for the ingoing files are deleted.
  156.         
  157.         If the Replaces field is present in the ingoing .TIC (and the
  158.         function is not disabled in NEF.CFG), the pertinent file is
  159.         erased and its description removed from the files.bbs.
  160.         
  161.         The forwarded TICs will have a new Path line with UTC time of
  162.         forward and updated SeenBys; Points are not included in the
  163.         SeenBys of TICs addressed to other links, to avoid unnecessarily
  164.         huge lists of SeenBys.
  165.         
  166.         The .BSY support avoids conflicts in the outbound, while
  167.         possible conflicts in the access to files.bbs are minimized by
  168.         waiting several seconds before giving up.
  169.         
  170.         Finally, NEF writes the announcements of the received files;
  171.         each message is limited (before splitting) to the maximum size
  172.         specified with the "MsgSize" statement (default is 12KB to avoid
  173.         problems with old mail processors).
  174.         
  175.         Conflicts on the message base are handled by the Squish MsgAPI.
  176.         
  177.         When the Maximus FileBase support is enabled, a mutual exclusive
  178.         semaphore flag "FileBase.Bsy" is used to avoid concurrent access
  179.         and modification of the filebase by other ApWorks programs.
  180.         There is no need to delete this flag if it remains after a power
  181.         failure or abnormal termination (ApWorks programs are smart
  182.         enough to realize whether the flag is really in use or not).
  183.         
  184.         
  185.                              From Address Selection
  186.         
  187.         The algorythm to choose the "From" address for the TIC files is:
  188.         
  189.         If an aka ovverride is present in the "FileArea" definition
  190.            then use FileArea aka override
  191.         else if an aka override is present in the "FileLink" definition
  192.            then use FileLink aka override
  193.         else if the destination zone matches an "Address" statement
  194.            then use the zone-matching address
  195.         else
  196.            use the primary (first) "Address" statement.
  197.         
  198.         
  199.                               Description Handling
  200.         
  201.         The TIC files can contain "Desc" and "LDesc" lines. Usually the
  202.         description contained in "Desc" line(s) is short and
  203.         unformatted, while that carried by the "LDesc" lines is long,
  204.         multi-line and formatted.
  205.         
  206.         For the announcements, the longest one is selected.
  207.         
  208.         For the Files.Bbs: if MultiLineDesc support is enabled, the
  209.         longest description is used, otherwise the "Desc" one.
  210.         
  211.  
  212.         
  213.         
  214.         
  215.                                   INSTALLATION
  216.         
  217.         
  218.         1) There are 3 versions of NEF: OS/2, NT and DOS/32, distributed
  219.            in different archives. The main program is always named
  220.            NEF.EXE: please make sure you have the correct version.
  221.         
  222.         2) Edit your Nef.Cfg.
  223.            You can find useful examples in the NEF_*.Cfg files and
  224.            detailed information in the "CFG REFERENCE" section of this
  225.            documentation.
  226.         
  227.         3) Edit your batch file in order to call NEF whenever you would
  228.            like to test for the presence of .TIC files in your inbounds
  229.            and process them. If you do not pass a different pathname as
  230.            a command line parameter, Nef.Cfg must reside in the current
  231.            directory.
  232.         
  233.         4) (OS/2): Make sure you have the MSGAPI32.DLL in a directory
  234.              contained in your LIBPATH and the PmHatch.Exe program in
  235.              your PATH. MSGAPI32.DLL can be found in the Squish 1.11
  236.              archive (SQSHP111.LZH).
  237.         
  238.            (NT): Make sure you have the MSGAPINT.DLL in a directory
  239.              contained in your PATH. MSGAPINT.DLL can be found in the
  240.              Max 3.01 for Windows archive (MAX301N.ZIP).
  241.         
  242.            (DOS): Make sure you have the DOS4GW.EXE Dos extender (from
  243.              Rational System Inc.) in your path.
  244.         
  245.              The DOS4GW extender requires an XMS or DPMI memory driver
  246.              installed in your config.sys: e.g. HIMEM.SYS, QEMM (by
  247.              QuarterDeck Office Systems Inc.).
  248.         
  249.         5) In order to have a correct UTC time specification in your
  250.            outgoing TICs, please note that you must have the environment
  251.            variable "TZ" correctly set in config.sys (OS/2) or
  252.            autoexec.bat (DOS).
  253.         
  254.            E.g. for Central European Time (CET):
  255.         
  256.              SET TZ=CET-01 (winter, "normal" solar time)
  257.              SET TZ=CET-02 (summer, daylight saving time).
  258.         
  259.            E.g. for USA East Coast:
  260.         
  261.              SET TZ=EST5EDT
  262.         
  263.              Eastern time is 5h less than UTC and Daylight saving
  264.              applies with the "standard rule" from the first sunday o
  265.              april to the last sunday of october.
  266.         
  267.            More complicate expressions might be used to specify
  268.            automatic change to and back from daylight saving, if a fixed
  269.            rule is available.
  270.         
  271.            E.g. for Central Europe: daylight saving is 1h ahead from the
  272.            last sunday of march to the last sunday of october.
  273.         
  274.              SET TZ=CET-01CDT,M3.5.0,M10.5.0
  275.         
  276.            (See a C manual for further details).
  277.         
  278.  
  279.         
  280.                        Command Line OPTIONS and SWITCHES
  281.         
  282.         
  283.         To get help about the command line syntax, use the "-h" or "-?"
  284.         command line switch: type "NEF -h" or "NEF -?".
  285.         
  286.         The following forms are available:
  287.         
  288.           NEF [<sw>]
  289.           NEF [<sw>] NOTIFY [<adr> ...]
  290.           NEF [<sw>] FILEFIX <adr> <cmd> ...
  291.           NEF [<sw>] OUT|OUTVIEW [<file>]
  292.           NEF [<sw>] CLEAN
  293.           NEF [<sw>] HATCH|MATCH|CATCH|SEND
  294.           NEF [<sw>] HATCH|MATCH|CATCH <name>[/<repl>] <TAG> [<desc>] [@DIZ]
  295.         
  296.         where:
  297.         
  298.           <sw> is one or more of:
  299.         
  300.             -c<cfg>
  301.                       Use <cfg> as configuration file instead of the
  302.                       default "Nef.Cfg".
  303.         
  304.                       Example: "Nef -ce:\cfg\nef2.cfg"
  305.         
  306.         
  307.             -d<adr>
  308.                       Hatch to <adr> only.
  309.         
  310.                       If you Hatch/Catch/Match/Send a file with the
  311.                       -d<adr> command line switch, it is sent to <adr>
  312.                       only.
  313.         
  314.                       <adr> can be any 4D address: in the case it is
  315.                       defined as a link in the matching "FileArea" or
  316.                       even only as a "FileLink", the specified akas,
  317.                       password and switches are applied.
  318.         
  319.                       If, on the contrary, <adr> is a unknown address,
  320.                       the Hold flavour is used, no password is put in
  321.                       the TIC and the "from" aka is derived from an
  322.                       aka-match on the zone.
  323.         
  324.                       Example: "Nef -d2:332/589 hatch"
  325.         
  326.         
  327.             -h or -?
  328.                       Help.
  329.         
  330.         
  331.             -k
  332.                       Keep local files (do not Replace,
  333.                       for Match/Catch).
  334.         
  335.         
  336.             -l<log>
  337.                       Use <log> as logfile instead of the one specified
  338.                       via the "StatusLog <log>" configuration statement.
  339.         
  340.                       Example: "Nef -le:\cfg\nef.log"
  341.         
  342.         
  343.             -p
  344.                       Clean passthru areas before terminating, see also
  345.                       the "CLEAN" option.
  346.         
  347.                       Examples:
  348.         
  349.                         NEF -p
  350.                         NEF -p OUT
  351.         
  352.         
  353.             -t
  354.                       Toggle Secure mode (see also the NoSecure cfg
  355.                       statement).
  356.         
  357.           
  358.           A description of options follows:
  359.         
  360.             NOTIFY
  361.                       Notify linked areas to the specified address list,
  362.                       where <adr> is a 4D address.
  363.         
  364.                       If no address is given, NEF will notify only the
  365.                       nodes flagged with the 'Y' flag in their FileLink
  366.                       statement.
  367.         
  368.                       If "ALL" is specified, all defined links will be
  369.                       notified.
  370.         
  371.             FILEFIX
  372.                       Execute <cmd>s as if they were received via netmail
  373.                       from <adr> addressed to the AutoLink robot.
  374.         
  375.                       Please note that there might be some problem using
  376.                       the '%' character in front of filefix commands:
  377.                       4OS2 will substitute the corresponding environment
  378.                       variable. You can use the '?' character in the
  379.                       place of '%' or precede '%' with an escape character.
  380.         
  381.             OUT
  382.                       Outbound analysis (message output), optional
  383.                       concise output to <file> (no specification of each
  384.                       and every attached file). See the <OUT> and
  385.                       <OUTVIEW> "special tags" in the "Announce"
  386.                       section.
  387.         
  388.             OUTVIEW
  389.                       Same as OUT, but optional output to <file> is
  390.                       verbose.
  391.         
  392.             CLEAN
  393.                       Clean passthru areas.
  394.         
  395.                       Since it might be not efficient to always scan the
  396.                       entire outbound to check for passthru files to be
  397.                       deleted, NEF must be explicitly instructed to do
  398.                       so (see also the "-p" command line switch).
  399.         
  400.                       Example: "Nef Clean"
  401.         
  402.             HATCH
  403.                       Traditional hatch.
  404.             MATCH
  405.                       Move file to destination area then hatch.
  406.             CATCH
  407.                       Copy file to destination area then hatch.
  408.             SEND
  409.                       (OS/2) Hatch via PM Dialog.
  410.         
  411.                       If you use one of these hatch options, NEF will
  412.                       not process inbound .TICs; instead it will send
  413.                       the specified files to your links.
  414.         
  415.                       Examples:
  416.                                 "Nef Hatch"
  417.                                 "Nef Match"
  418.                                 "Nef Catch"
  419.                                 "Nef Send" (OS/2 Only)
  420.         
  421.                       When no parameters are specified after the hatch
  422.                       option, your interaction is required: you will be
  423.                       requested the filename specification (Dos or OS/2
  424.                       wildcards allowed) and, for each matching file,
  425.                       the optional "replace" name, the area TAG, the
  426.                       description and the optional "Long Description".
  427.         
  428.                       On the other hand, if you specify the hatch
  429.                       parameters on the command line, you cannot give a
  430.                       "Long Description" apart from that taken from the
  431.                       File_Id.Diz.
  432.         
  433.                       HATCH sends the specified files; they are not
  434.                       moved and their description is not modified.
  435.         
  436.                       MATCH moves the specified files to the directory
  437.                       that corresponds to the specified <TAG>, updates
  438.                       their descriptions (see "Description Handling" in
  439.                       Overall operation) and sends them as per normal
  440.                       hatch. If a <replace> file is specified, it is
  441.                       deleted with its associated description.
  442.         
  443.                       CATCH is just like Match, but the files are copied
  444.                       instead of moved.
  445.         
  446.                (OS/2)
  447.                       SEND allows to specify all the hatch parameters
  448.                       via a user friendly PM Dialog. Please make sure
  449.                       the PmHatch.Exe file is in the PATH. In the case
  450.                       the PmHatch program terminates abnormally, the NEF
  451.                       program will wait for it indefinitely: you can
  452.                       terminate it using CTRL-C or CTRL-Break.
  453.         
  454.                       See the "PmHatch" section below for further
  455.                       information.
  456.         
  457.         
  458.           Parameters for Hatch/Match/Catch:
  459.         
  460.             <name>
  461.                       This is the full pathname of the files you want to
  462.                       H/M/Catch. You need to specify the full path even
  463.                       if you are hatching files that reside in the
  464.                       directory corresponding to <TAG>. O.S. wildcards
  465.                       are allowed.
  466.         
  467.             <replace>
  468.                       This is the optional name of the file to be
  469.                       replaced: if the receiving system has this feature
  470.                       enabled, a file named <replace> in the <TAG> area
  471.                       will be deleted while importing the new file.
  472.         
  473.             <TAG>
  474.                       This is the tag used for distributing an echo-file
  475.                       area.
  476.         
  477.             <desc>
  478.                       This is the "short" file description and must be
  479.                       enclosed between quotes '"'.
  480.         
  481.                       In the case you need to include the '"' character
  482.                       in the description, just precede it with a
  483.                       backslash escape character: '\"'.
  484.         
  485.                       If you want to take this description from the
  486.                       files.bbs, you can just specify "@BBS".
  487.         
  488.                       Although NEF allows not to specify any <desc>, it
  489.                       is highly recommended that a "short" description
  490.                       is supplied, even when a "long" one is used.
  491.         
  492.             @DIZ
  493.                       This parameter allows to (optionally) take a
  494.                       "long" description from the File_Id.Diz contained
  495.                       in archive <name>.
  496.         
  497.                       Please note that this is an additional OPTIONAL
  498.                       field, while <desc> should be MANDATORY (although
  499.                       NEF does not complain about a missing <desc>).
  500.         
  501.                 Note:
  502.                       Please realize that the "short" and "long"
  503.                       descriptions are two separate and indipendent
  504.                       items.
  505.         
  506.                       Short description: single line, "Desc" keyword in
  507.                       TIC files.
  508.         
  509.                       Lond description: multiple lines, "Ldesc" keywords
  510.                       in TIC files.
  511.         
  512.         
  513.         
  514.         Examples:
  515.         
  516.             NEF Hatch d:\p\prg12.rar/prg11.rar COMMS "New comm prg"
  517.         
  518.                 d:\p\prg12.rar is hatched (NOT moved) into the COMMS
  519.                 area; prg11.rar will be deleted on receiving systems.
  520.         
  521.             NEF Catch d:\p\prg12.rar/prg11.rar COMMS "New comm prg"
  522.         
  523.                 d:\p\prg12.rar is copied to the directory corresponding
  524.                 to the COMMS file area and is hatched to the COMMS area.
  525.                 prg11.rar is deleted locally and will be deleted on
  526.                 receiving systems.
  527.         
  528.             NEF Match d:\p\prg12.rar COMMS "New comm prg"
  529.         
  530.                 d:\p\prg12.rar is moved to the directory corresponding
  531.                 to the COMMS file area, it is hatched to the COMMS area,
  532.                 no replace information is put in the outgoing .TICs.
  533.         
  534.             NEF Send
  535.         
  536.                 (OS/2) Invokes the PM dialog window.
  537.         
  538.             NEF Hatch d:\apbbs\nef999.rar APBBS @bbs
  539.         
  540.                 d:\apbbs\nef999.rar is hatched into the APBBS area,
  541.                 taking the description from the files.bbs.
  542.         
  543.             NEF Hatch d:\apbbs\nef999.rar APBBS "Nef 9.99" @diz
  544.         
  545.                 d:\apbbs\nef999.rar is hatched into the APBBS area,
  546.                 taking "Nef 9.99" as the "short" description and the
  547.                 File_Id.Diz (if present in the archive) as the "long"
  548.                 description.
  549.         
  550.             NEF Hatch d:\apbbs\nef999.rar APBBS @bbs @diz
  551.         
  552.                 d:\apbbs\nef999.rar is hatched into the APBBS area,
  553.                 taking the "short" description from the files.bbs and
  554.                 the "long" description from the File_Id.Diz (if it is
  555.                 contained in the archive).
  556.         
  557.             NEF -d2:332/504.2 Hatch d:\apbbs\nef999.rar APBBS @bbs @diz
  558.         
  559.                 Same as above, but the file is hatched to 2:332/504.2
  560.                 only.
  561.         
  562.             NEF OUT
  563.         
  564.                 An outbound analysis is performed, the results are
  565.                 reported via messages in the area(s) configured in
  566.                 Nef.Cfg (see the Announce statement).
  567.         
  568.             NEF OUT Out.Txt
  569.         
  570.                 Same as above, but the output is also written to
  571.                 "Out.Txt" in "concise mode".
  572.         
  573.             NEF OUTVIEW Out.Txt
  574.         
  575.                 Same as above but the file output is verbose.
  576.         
  577.             NEF -p OUT
  578.         
  579.                 NEF will report the status of the outbound and clean the
  580.                 passthru areas.
  581.         
  582.                 If you need to maintain passthru areas, this is the most
  583.                 efficient use, since NEF must scan the outbound once to
  584.                 make two different things ("clean passthru" and
  585.                 "outbound report").
  586.         
  587.             NEF Notify
  588.                 A notification message (specifying the linked areas)
  589.                 is sent to the nodes that have the 'Y' flag in their
  590.                 FileLink statement.
  591.         
  592.             NEF Notify All
  593.         
  594.                 A notification message is sent to all the defined links,
  595.                 specifying the linked areas.
  596.         
  597.             NEF Notify 2:332/589 1:234/567
  598.         
  599.                 A notification message is sent to the specified links.
  600.         
  601.             NEF FileFix 2:332/567 APBBS -APBBSDOS
  602.         
  603.                 Node 2:332/567 is linked to the APBBS area and unlinked
  604.                 from the APBBSDOS one.
  605.         
  606.             NEF FileFix 2:332/678 ?QUERY
  607.         
  608.                 Node 2:332/678 is sent a filefix answer to the QUERY
  609.                 command.
  610.         
  611.         
  612.                                     PmHatch
  613.         
  614.            OS/2 Only:
  615.         
  616.                 To invoke the PM hatch program you must type "NEF send".
  617.                 The PmHatch program is very simple and intuitive to use:
  618.                 see the following description.
  619.         
  620.                 You can select the destination Area Tag via a drop-down
  621.                 list: just click with the mouse on the button at the
  622.                 right of the entry field.
  623.         
  624.                 You have three radio buttons to select the "type" of
  625.                 hatch (normal, with Copy, with Move), just as you use
  626.                 Hatch/Catch/Match from the command line.
  627.         
  628.                 You can choose the file to be hatched via a file dialog
  629.                 box: just click on the "Browse" push button on the right
  630.                 of the field. The file dialog starts from the directory
  631.                 corresponding to the selected Tag, but you can move to
  632.                 any drive or directory.
  633.         
  634.                 You can also specify a "Replace" file via a file-dialog
  635.                 by clicking on the "Browse" push-button on the right of
  636.                 the "Repl" field.
  637.         
  638.                 When doing Copy or Move, the files.bbs of the
  639.                 destination area is updated and the "replace" file (if
  640.                 specified) is deleted, just as if the file were tossed
  641.                 from the inbound.
  642.         
  643.                 You can mark the "No Local Kill" checkbox to prevent NEF
  644.                 from deleting the "replace" file in the local area.
  645.         
  646.                 You can load a "short description" (Desc) from the
  647.                 files.bbs, by clicking on the "FilesBbs" push-button.
  648.         
  649.                 You can load a multi-line "long description" (Long Desc)
  650.                 from the File_Id.Diz inside the archive (even if
  651.                 self-extracting), from the Files.Bbs or from a specified
  652.                 file (Arc Diz, FilesBbs, File push-buttons respectively).
  653.         
  654.                 If you do not have the "CompressCfg <filename>"
  655.                 statement in Nef.Cfg, the "Arc Diz" push-button will be
  656.                 disabled.
  657.         
  658.                 Of course you can always fill-in or modify any field
  659.                 manually.
  660.         
  661.                 Now look at the five push-buttons at the bottom of the
  662.                 hatch dialog:
  663.         
  664.                 <OK>: to exit the dialog and hatch all the entered files.
  665.         
  666.                 <Prev>: to visualize the previous hatch entry.
  667.         
  668.                 <Next>: to create a new (empty) entry in order to hatch
  669.                 another file or to move to next entry if <Prev> has been
  670.                 used.
  671.         
  672.                 <Copy>: to copy the visualized entry to the first free
  673.                 position, in order to hatch another file by modifying
  674.                 the current entry.
  675.         
  676.                 <Cancel> or ESC: to cancel the current entry.
  677.         
  678.                 ALT-F4 or "Close", to abort (cancel all the hatch
  679.                 entries).
  680.         
  681.         
  682.         
  683.         
  684.                                   ERRORLEVELS
  685.         
  686.         
  687.           0 - File areas modified: Match or .TIC processed.
  688.           1 - File areas not modified: Hatch or NO .TIC processed.
  689.           2 - Help requested.
  690.           3 - Abnormal termination
  691.           4 - Configuration file not found.
  692.           5 - Invalid parameter on command line.
  693.           6 - No Outbound defined in cfg file.
  694.           7 - Disk Full.
  695.           8 - Out of Memory.
  696.           9 - Can't open Log file.
  697.          10 - Prefix or Suffix too long.
  698.          11 - User Input Error (interactive hatch/match).
  699.          12 - TimeOut waiting for concurrent NEF process to finish.
  700.          13 - Error while accessing .SAV file.
  701.          17 - FileBase Busy TimeOut.
  702.         
  703.         250 - MsgApi: Init Error.
  704.         251 - MsgApi: Area Open Error.
  705.  
  706.         
  707.         
  708.                                  CFG REFERENCE
  709.         
  710.         
  711.         Before analyzing the cfg keywords in detail, let's introduce the
  712.         overall mechanism that is at the basis of NEF's file forwarding
  713.         capabilities.
  714.         
  715.         Each area (defined via the FileArea keyword) can be
  716.         mono-directional or bi-directional.
  717.         
  718.         In bidirectional areas every link can send files to us and we
  719.         forward to everyone, unless those with a "receive-from"
  720.         override.
  721.         
  722.         Monodirectional areas can be "receive from everyone" or "send to
  723.         everyone". Obviously, at least one link must have an override in
  724.         the opposite direction, unless we are the destination or
  725.         origination of all the files.
  726.         
  727.         NEF uses the three flags 'I' (Input: we accept from), 'O'
  728.         (Output: we send to) and '*' (bidirectional) to define the
  729.         direction of an area or link.
  730.         
  731.         Each area has a direction, that can be overridden on a per-node
  732.         basis by a global (in the FileLink statement) or local (in the
  733.         FileArea statement, before the pertinent link address) direction
  734.         override.
  735.         
  736.         In other words: each link has a direction that is defined in
  737.         order of priority (from lowest to highest) by the area direction
  738.         (I|O|* in FileArea), the global link override (in the FileLink
  739.         statement), the local link override (before link address in the
  740.         FileArea statement).
  741.         
  742.         It is recommended not to use the global link override when not
  743.         really useful, so that the area definition statements remain
  744.         clearly readable without the need to keep one eye on the
  745.         FileLink statements.
  746.         
  747.         Usually the global link override is useful when you have an
  748.         uplink for many areas. For example: if one day the uplink and
  749.         one of the downlinks switch their role, you have to move the 'I'
  750.         flag from one FileLink statement to the other with no need to
  751.         change all the area definitions.
  752.         
  753.         The area direction definition is very useful to allow automatic
  754.         linking via the Link Robot both to normal "Uplink to Downlinks"
  755.         areas and to reverse "Downlinks to Uplink" areas (mostly used
  756.         for "pre" areas to collect files and send them to the
  757.         coordinator).
  758.         
  759.         As a matter of facts, in response to a link request, the Link
  760.         Robot only adds the requesting address (with no flags) to the
  761.         FileArea statement. So the real characteristics of the link
  762.         depend on the Area direction and on the link flags (FileLink
  763.         statement).
  764.         
  765.         
  766.         
  767.         
  768.                                  Conventions
  769.         
  770.         
  771.         
  772.         - Items between square brackets (e.g. [<item>]) are optional.
  773.         
  774.         - Items separated by '|' are mutually exclusive (e.g. I|O|*).
  775.         
  776.         - The names of the various Keywords are NOT case sensitive.
  777.         
  778.         - The area TAGs are NOT case sensitive.
  779.           Please be aware that old TIC processors might not be able to
  780.           handle tags longer than 8 characters or containing dots.
  781.         
  782.         - <WTAG> is a "Wild TAG" specification: it can be a normal area
  783.           TAG or contain wildcards in the "OS/2 style".
  784.         
  785.           Examples:
  786.         
  787.           "*LOC*" specifies all tags that contain "LOC".
  788.         
  789.           "FW???" specifies all tags that have up to three characters
  790.           after "FW".
  791.         
  792.         - When a directory path is required, the trailing backslash '\'
  793.           is optional.
  794.         
  795.         - The ';' character starts comments: any character following the
  796.           ';' is ignored. Please note that configuration text strings
  797.           (e.g. Subj, Origin) can contain the ';' character provided
  798.           they are enclosed in quotes '"'.
  799.         
  800.         - The maximum length of configuration lines (including FileArea
  801.           definitions) is 510 characters.
  802.         
  803.         - ... means that you can list further items of the same type.
  804.         
  805.         - Unless differently specified, addresses are standard 4D and
  806.           MUST begin with the zone number (FileArea statements excluded).
  807.         
  808.         Please, note that the order of the configuration statements
  809.         follows some logical rule. In order not to create confusion in
  810.         the .cfg file and not to break some _necessary_ order relation,
  811.         please follow the scheme proposed in the example NEF_*.CFG files
  812.         and in this reference documentation.
  813.         
  814.         
  815.         
  816.                                   S Y S T E M
  817.         
  818.         
  819.         RegKey <RegKey>
  820.         
  821.                 Registered Users only: <RegKey> is the registration key
  822.                 and it is NOT case sensitive.
  823.         
  824.             Example:
  825.         
  826.                 RegKey dfhyuwru6274623
  827.         
  828.         
  829.         
  830.         Address <Address>
  831.         
  832.                 You can use as many Address statements as you need for
  833.                 all of your AKAs. The first one specifies the "primary"
  834.                 address. <Address> is a standard 4D address
  835.                 specification.
  836.         
  837.             Example:
  838.         
  839.                 Address 2:332/504.0   ; Primary Address
  840.                 Address 2:332/524.0   ; Second line aka
  841.                 Address 2:332/500.0   ; Hub aka
  842.                 Address 9:999/999.9   ; one more aka
  843.         
  844.         
  845.         
  846.         StatusLog <LogFile>
  847.         
  848.                 <LogFile> is the name of the file where all the
  849.                 operations performed by NEF will be logged, following
  850.                 the "Binkley Style".
  851.         
  852.                 In multitasking environments, please be sure to use a
  853.                 file that cannot be used by other processes at the same
  854.                 time. For example: if (in your system) NEF can be
  855.                 executed while Binkley is running, please use different
  856.                 log files.
  857.         
  858.                 Multiple NEF processes using the same config file
  859.                 (and therefore the same <LogFile>) will have no problem
  860.                 since NEF does not begin operations until the previous
  861.                 launched instance (if it uses the same .cfg file) has
  862.                 finished.
  863.         
  864.                 Should you not want the log file, you can comment this
  865.                 keyword out.
  866.         
  867.             Example:
  868.         
  869.                 StatusLog d:\bbs\log\nef.log
  870.         
  871.         
  872.         
  873.         EchoTossLog <filename>
  874.         
  875.                 When a message is written into echoareas defined with
  876.                 the "AreaTag" statement, the corresponding
  877.                 TAGs are written (one per line) to <filename>.
  878.         
  879.                 If you use the "MaxPrm" statement (or MAXIMUS
  880.                 environment variable), "EchoTossLog" is not necessary
  881.                 and becomes an override of the echotosslog specification
  882.                 found in the Maximus .PRM file.
  883.         
  884.                 If you do not like this output, you can override with
  885.                 the NUL name: "EchoTossLog NUL".
  886.         
  887.             Example:
  888.         
  889.                 EchoTossLog d:\bbs\squish\echotoss.log
  890.         
  891.         
  892.         
  893.         NetFile <InboundDir>
  894.         
  895.                 You can specify as many NetFile statements as you need,
  896.                 one for each inbound directory where NEF must look for
  897.                 new .TIC files.
  898.                 <InboundDir> is the pathname of the inbound directory.
  899.         
  900.             Example:
  901.         
  902.                 NetFile c:\file\net
  903.         
  904.         
  905.         
  906.         OutBound <RootPath> [<Zone>]
  907.         
  908.                 The outbound directories are specified with the same
  909.                 method as in squish.cfg.
  910.                 <RootPath> should not have an extension.
  911.         
  912.                 The first OutBound statement does not have the <Zone>
  913.                 field and specifies the directory where NEF will build
  914.                 file attaches for the zone of the primary address.
  915.         
  916.                 Subsequent OutBound statements must have the <Zone>
  917.                 field (Decimal). File attaches for the specified <Zone>
  918.                 are built in <RootPath>.<###>, where <###> is a 3 digit
  919.                 extension representing the zone number (hexadecimal).
  920.         
  921.                 File attaches for zones different from the primary one
  922.                 and not matching any <Zone> of the OutBound statements
  923.                 are built in <RootPath>.<###>, where <RootPath> is the
  924.                 one specified in the first OutBound statement and <###>
  925.                 is a 3 digit extension representing the hexadecimal
  926.                 zone number.
  927.         
  928.             Note:
  929.         
  930.                 The "OutBound" statements MUST be preceded by the
  931.                 "Address" ones.
  932.         
  933.             Example:
  934.         
  935.                 OutBound c:\out\fidonet
  936.                 OutBound c:\out\amiganet 39
  937.                 OutBound c:\out\amiganet 40
  938.         
  939.                 FileAttaches will be built in:
  940.                 Primary zone -> c:\out\fidonet
  941.                 zone 39      -> c:\out\amiganet.027
  942.                 zone 40      -> c:\out\amiganet.028
  943.                 other zones  -> c:\out\fidonet.<###>
  944.                                 where <###> is the 3 digit hexadecimal
  945.                                 representation of the zone number
  946.         
  947.         
  948.         
  949.         TicHold <TicDir>
  950.         
  951.                 This specifies the directory that holds all the .TIC
  952.                 files addressed to downlinks until they are sent and
  953.                 erased.
  954.         
  955.             Example:
  956.         
  957.                 TicHold c:\file\tichold
  958.         
  959.         
  960.         
  961.         BusyFlags
  962.         
  963.                 This enables the Binkley-Style .BSY support.
  964.         
  965.                 When attaching a file to a node, the presence of an
  966.                 appropriate .BSY file is checked; if it is present, some
  967.                 other process may be working on the same node, so NEF
  968.                 saves the attach info to a private <config>.SAV file
  969.                 (i.e. NEF.SAV when NEF.CFG is the config file). On
  970.                 subsequent runs, NEF will look for a <config>.SAV file
  971.                 and use the information in it to attempt again the
  972.                 creation of the file attaches.
  973.                 If the .BSY file is not found, it is created, the file
  974.                 attach is built, then the .BSY is erased.
  975.                 The name of the .BSY file is the same as a file attach
  976.                 to the same node: only the extension changes.
  977.         
  978.             Warning:
  979.         
  980.                 The .BSY method has a nasty drawback: if the process
  981.                 that has created a .BSY file hangs or is shutdown
  982.                 abruptly, the .BSY file remains in its outbound
  983.                 directory, so that no other process will gain access to
  984.                 that node until somebody erases the .BSY file. It is
  985.                 advisable to delete *.BSY from the most used outbound
  986.                 directories at startup (in autoexec.bat (Dos) or
  987.                 startup.cmd (OS/2)).
  988.         
  989.         
  990.         
  991.         NoRaidBeforeHatch
  992.         
  993.                 Skips the scanning of netmail before the execution of
  994.                 hatch commands. This might be useful to avoid delays
  995.                 with huge *.MSG areas.
  996.         
  997.         
  998.         
  999.         MsgSize <bytes>
  1000.         
  1001.                To specify the maximum size (in bytes) for a message
  1002.                generated by NEF (minimum 8KB, default 12KB).
  1003.         
  1004.                Usually a larger message size is useful to avoid too many
  1005.                messages in reports of filebone availability. Anyway,
  1006.                please be careful not to use a size larger than your
  1007.                downlinks can handle.
  1008.         
  1009.                Example:
  1010.         
  1011.                MsgSize 90000
  1012.         
  1013.         
  1014.         
  1015.         TicAreaCfg <filename>
  1016.         
  1017.                 This defines the name of the file that contains all the
  1018.                 file area definitions. See the "FileArea" keyword below
  1019.                 for a description of the syntax.
  1020.         
  1021.                 This keyword is optional: if you omit it, you can define
  1022.                 your file areas directly in the .cfg file, provided you
  1023.                 put all the FileArea statements _after_ the FileLink
  1024.                 ones, at the end of the .cfg file.
  1025.         
  1026.                 For systems with few areas the one-file configuration is
  1027.                 handy, for systems with many areas and links, the
  1028.                 separate file solution is recommended.
  1029.         
  1030.                 Please note that the TicAreaCfg file can contain
  1031.                 FileArea statements and comments ONLY.
  1032.         
  1033.             Example:
  1034.         
  1035.                 TicAreaCfg d:\bbs\nef\ticarea.cfg
  1036.         
  1037.         
  1038.         
  1039.         CompressCfg <filename>
  1040.         
  1041.           (OS2)
  1042.                 To allow the extraction of File_Id.Diz while using the
  1043.                 Pm Hatch.
  1044.         
  1045.                 <filename> must specify the location and name of a
  1046.                 "Squish style" compress definition file.
  1047.         
  1048.                 In the case you are using a case-sensitive
  1049.                 de/compression program (e.g. OS/2 ZIP/UNZIP), please
  1050.                 make sure to use the correct switches in <filename>.
  1051.         
  1052.                 If you are already using Squish and or Maximus, you
  1053.                 can just specify the name of their compress.cfg (but do
  1054.                 check that they indicate the necessary switches to avoid
  1055.                 case sensitiveness during extraction).
  1056.         
  1057.                 Refer to the "Compress Definition File" section at the
  1058.                 end of this reference for the syntax of this
  1059.                 configuration file.
  1060.         
  1061.             Example:
  1062.         
  1063.                 CompressCfg c:\squish\compress.cfg
  1064.          
  1065.         
  1066.         
  1067.                             Optional Squish Support
  1068.         
  1069.         
  1070.         SquishCfg <filename>
  1071.         
  1072.                 It is used to specify the squish configuration file, so
  1073.                 that the path, type (SDM vs Squish) and primary address
  1074.                 for the announcement areas defined with the "AreaTag"
  1075.                 statement can be automatically looked up.
  1076.         
  1077.                 When SquishCfg is defined, if you use "AreaTag <Tag>" to
  1078.                 define announcement areas, the "FromNode <adr>"
  1079.                 statement is only used to override the primary address
  1080.                 specified for that area in Squish.Cfg (including the
  1081.                 -p<address> overrides).
  1082.         
  1083.                 The "Include" keyword of Squish.Cfg is supported: just
  1084.                 be sure to always use the full pathname in the Include
  1085.                 statement if different from the working path.
  1086.         
  1087.                 Both echomail and netmail areas are recognized by their
  1088.                 Squish tags.
  1089.         
  1090.                 Netmail areas will have the Private attribute and no
  1091.                 origin by default. Local overrides are still possible
  1092.                 via local "Origin" and "Attr" statements.
  1093.         
  1094.             Example:
  1095.         
  1096.                 SquishCfg c:\squish\squish.cfg
  1097.         
  1098.         
  1099.         
  1100.                          Optional Maximus 3.xx Support
  1101.         
  1102.         
  1103.         MaxPrm <filename>
  1104.         
  1105.                 If the MAXIMUS environment variable is defined, this
  1106.                 statement is an optional override only.
  1107.         
  1108.                 It is used to take the default for EchoTossLog and to
  1109.                 get the name and location of the files necessary for
  1110.                 filebase updating. The ".prm" extension in <filename>
  1111.                 can be omitted.
  1112.         
  1113.             Example:
  1114.         
  1115.                 MaxPrm d:\bbs\max\max.prm
  1116.         
  1117.         
  1118.         MaxAreaAdd <fileareactl> <lev[/keys]> <acs> [<division>]
  1119.         MaxAreaCompile <command>
  1120.         
  1121.                NEF is able to add new (created) areas to the Maximus
  1122.                filearea.ctl or equivalent.
  1123.         
  1124.         
  1125.                <fileareactl> is the fully qualified name of the Maximus
  1126.                file-area definition file.
  1127.         
  1128.                <lev[/keys]> protects areas of higher privilege from
  1129.                being automatically added to the Maximus configuration.
  1130.                The level and keys are to be compared to those of
  1131.                ProtArea statements and FileBone-format files.
  1132.         
  1133.                <acs> is the Maximus access string to be used in
  1134.                <fileareactl> for the new area.
  1135.         
  1136.                <division> is the optional specification of a division
  1137.                where you want to put new areas. If not specified or not
  1138.                found, the new areas will be appended at the end of
  1139.                <fileareactl>.
  1140.         
  1141.                <command> is an external command to be executed before
  1142.                NEF ends, from the Maximus system directory.
  1143.                It should be used to compile the new Maximus
  1144.                configuration via SILT/SILTP.
  1145.         
  1146.         
  1147.                The area name is taken equal to the area TAG, with dots
  1148.                changed to underscores.
  1149.         
  1150.                The area description is taken from the FileBone-format
  1151.                files if available, otherwise it is taken equal to the
  1152.                area TAG.
  1153.         
  1154.         
  1155.                Example:
  1156.         
  1157.                MaxAreaAdd d:\max\filearea.ctl 0 Transient Tic.New
  1158.                MaxAreaCompile siltp max -a -2a
  1159.         
  1160.                The new areas, will be inserted at the end of division
  1161.                "Tic.New" in the file "d:\max\filearea.ctl", with an
  1162.                access string of "Transient". Areas with protection level
  1163.                above 0 or any protection key will NOT be added to
  1164.                maximus configuration.
  1165.         
  1166.                Before terminating, NEF will invoke the SILTP compiler to
  1167.                update the area configuration. The command will be
  1168.                executed after changing the current directory to the
  1169.                Maximus system one (probably d:\max\).
  1170.         
  1171.         
  1172.         
  1173.         
  1174.         FileBaseUpdate
  1175.         
  1176.                 Requires the MAXIMUS environment variable or the
  1177.                 "MaxPrm" statement _before_ in the cfg.
  1178.         
  1179.                 NEF will automatically update the filebase for all the
  1180.                 areas changed when tossing/hatching new files. No more
  1181.                 need to run external FBP (FB).
  1182.         
  1183.             Example:
  1184.         
  1185.                 FileBaseUpdate
  1186.         
  1187.         
  1188.         
  1189.         UniqueDmpLine
  1190.         
  1191.                 Forces the generation of FILES.DMP filebase files with
  1192.                 descriptions on one line only (multiple lines are
  1193.                 concatenated).
  1194.         
  1195.                 By default, multi-line descriptions are output without
  1196.                 changes to FILES.DMP: when using L)ocate and N)ewfiles
  1197.                 commands, Maximus will respect the original formatting,
  1198.                 but the continuation lines will be aligned to the left.
  1199.         
  1200.                 When this statement is used, the original formatting of
  1201.                 descriptions is lost (in the filebase) but Maximus will
  1202.                 be able to word-wrap and align when executing L)ocate or
  1203.                 N)ewfiles commands.
  1204.         
  1205.         
  1206.         
  1207.         
  1208.                                  TIC Processing
  1209.         
  1210.         
  1211.         NoSecure
  1212.         
  1213.                 Disables the secure mode.
  1214.         
  1215.                 When "NoSecure" is used, NEF will toss incoming files
  1216.                 ignoring errors due to missing password, password
  1217.                 mismatch and missing from-authorization (sender not
  1218.                 linked, sender receive only).
  1219.         
  1220.                 You can also use the "-t" command line switch to toggle
  1221.                 between Secure and NoSecure modes.
  1222.         
  1223.                 Anyway the error will be noted in the logs and <BAD>
  1224.                 message report (see Announce statement).
  1225.         
  1226.             Example:
  1227.         
  1228.                 NoSecure
  1229.         
  1230.         
  1231.         
  1232.         NoReplace <WTAG> ...
  1233.         
  1234.                 Multiple statements can be used.
  1235.                 The specified <WTAG>s indicate in which areas you do not
  1236.                 want NEF to delete files specified by the "Replaces"
  1237.                 keyword in inbound TICs.
  1238.         
  1239.             Example:
  1240.         
  1241.                 NoReplace *     ; to avoid Replace in all areas
  1242.         
  1243.         
  1244.         
  1245.         CheckCRC
  1246.         
  1247.                 This enables the CRC check of ingoing .TICs.
  1248.                 If an ingoing .TIC has the CRC keyword, the specified
  1249.                 CRC is checked against that of the relative file and an
  1250.                 error is reported in case of mismatch.
  1251.                 Outgoing .TICs will have the CRC only if it is present
  1252.                 in the ingoing one.
  1253.                 TICs originated by NEF (various Hatch modes) will always
  1254.                 have the CRC keyword.
  1255.         
  1256.         
  1257.         
  1258.         Touch [Creation] [Write]
  1259.         
  1260.                 Ingoing files are "touched" while being moved to their
  1261.                 destination directory (i.e. their timestamps are set to
  1262.                 NOW, so that they will be seen as new files by all the
  1263.                 utilities that use the file date-time to compute the age
  1264.                 of files).
  1265.         
  1266.             (OS/2)
  1267.                 There are two optional parameters ("Creation" and
  1268.                 "Write") that allow to configure the type of touch
  1269.                 needed to best suit your environment.
  1270.         
  1271.                 "Creation" -> touch the creation (upload) date
  1272.                 "Write"    -> touch the last-write (modification) date
  1273.         
  1274.                 You can specify either or both options.
  1275.         
  1276.                 When no parameter is used, "Creation" is assumed.
  1277.         
  1278.                 On FAT, the only available date (last-write) is touched
  1279.                 regardless of the Touch options.
  1280.         
  1281.                 On HPFS, the specified date(s) is/are touched.
  1282.         
  1283.                 Usually, you do not need to specify any touch parameter,
  1284.                 so that NEF touches the creation date, not the
  1285.                 modification one, in order to make the files recognized
  1286.                 as new by Maximus and FLM (my File List Manager) without
  1287.                 changing the date that is normally shown and
  1288.                 transferred: you "see" and transfer to your downlinks
  1289.                 the original date of the file while Maximus and FLM are
  1290.                 able to realize that the file is new.
  1291.         
  1292.                 WARNING: if you use some other utility that is not smart
  1293.                 enough to recognize new files from the creation date,
  1294.                 you might need to specify both the "Write" and
  1295.                 "Creation" options.
  1296.         
  1297.             (NT, DOS & OS/2 FAT)
  1298.                 Warning: The original file timestamp is lost and the
  1299.                 downlinks will receive the forwarded files with the new
  1300.                 timestamps.
  1301.         
  1302.         
  1303.             Examples:
  1304.         
  1305.                Touch       ; default: touch the Creation (upload) date
  1306.                Touch Creation              ; same as default
  1307.                Touch Write                 ; touch the Last Write date
  1308.                Touch Creation Write        ; touch both dates
  1309.         
  1310.         
  1311.         
  1312.         KillDate Write|Creation
  1313.         
  1314.             (OS/2)
  1315.                 When the -0<days> switch is used in a FileArea
  1316.                 definition, this statement specifies which date must be
  1317.                 used to evaluate the file age.
  1318.         
  1319.                 This setting is useful for HPFS (which has separate
  1320.                 Write and Creation dates) and ignored for FAT.
  1321.         
  1322.                 If not specified, "Creation" is assumed.
  1323.         
  1324.                 Attention: if you want to delete the files when they
  1325.                 have been on your system for <days> days then you should
  1326.                 choose a date that has been touched on toss (as per
  1327.                 Touch statement).
  1328.         
  1329.             Examples:
  1330.         
  1331.                KillDate Write       ; Use the Write date
  1332.                KillDate Creation    ; same as default
  1333.         
  1334.         
  1335.         
  1336.         MultiLineDesc <nnn> [<c>]
  1337.         
  1338.                 By default, files.bbs description must be on a single
  1339.                 line; this statement enables Multi-Line support.
  1340.         
  1341.                 <nnn> is the number of spaces that must precede the
  1342.                 continuation lines.
  1343.         
  1344.                 <c> is the continuation character.
  1345.         
  1346.                 If <c> is NOT specified, it is assumed that the
  1347.                 continuation lines must be preceded by <nnn> spaces.
  1348.         
  1349.                 If <c> IS specified, it is assumed that the continuation
  1350.                 lines must be preceded by <nnn> spaces, the <c>
  1351.                 character and one more space.
  1352.         
  1353.                 For example, to have the 2nd and following description
  1354.                 lines in files.bbs start at the 32nd column, use:
  1355.         
  1356.                 MultiLineDesc 31
  1357.         
  1358.                 A description in files.bbs would be like:
  1359.         
  1360.                 Test.Zip This is the first description line
  1361.                                                this is the 2nd line
  1362.                                                this is the 3rd line
  1363.                 ^                             ^^
  1364.                 1                           31  32
  1365.         
  1366.                 To have the continuation lines preceded by a '|'
  1367.                 character, use:
  1368.         
  1369.                 MultiLineDesc 29 |
  1370.         
  1371.                 A description in files.bbs would be like:
  1372.         
  1373.                 Test.Zip This is the first description line
  1374.                                              | this is the 2nd line
  1375.                                              | this is the 3rd line
  1376.                 ^                           ^  ^
  1377.                 1                          29  32
  1378.         
  1379.         
  1380.         
  1381.         
  1382.         NewAreasPath <path>
  1383.         NewAreasFrom <address> [-0[<days>]] [#<aka>] [<path>]
  1384.         
  1385.                 <path> is the base directory for new file areas
  1386.                 automatically created by NEF on reception of .TICs with
  1387.                 unknown area TAGs.
  1388.         
  1389.                 <address> is a 4D address that must be enabled to
  1390.                 automatically create new areas.
  1391.         
  1392.                 -0[<days>] (zero) specifies that areas created by
  1393.                 <address> must be PassThru. The optional <days>
  1394.                 parameter specifies that the files in these areas must
  1395.                 not be deleted before they become older than <days>.
  1396.                 <days> is an integer <= 65535.
  1397.         
  1398.                 <aka> is the optional from-address to be used by NEF in
  1399.                 outgoing .TICs for the areas automatically created by
  1400.                 <address>.
  1401.         
  1402.                 The <path> in "NewAreasFrom" is an override for the
  1403.                 default specified in "NewAreasPath".
  1404.         
  1405.                 Any number of NewAreasFrom statements can be used.
  1406.         
  1407.                 While adding new areas, NEF will NOT re-order the
  1408.                 existing ones, anyway it will respect an existing
  1409.                 alphabetical order.
  1410.         
  1411.             Example:
  1412.         
  1413.                 NewAreasPath c:\file
  1414.                 NewAreasFrom 2:331/110
  1415.                 NewAreasFrom 9:1/1 #9:999/999.9
  1416.                 NewAreasFrom 9:2/2 -0 d:\fido\passthru\
  1417.         
  1418.                 Let's suppose we have received a .TIC for area NEWAREA,
  1419.                 which is not currently defined:
  1420.                 - if it is coming from an address different from
  1421.                   2:331/110, 9:1/1 and 9:2/2 -> an error is reported.
  1422.                 - if it is coming from 2:331/110 -> a new area is
  1423.                   created with path c:\file\NEWAREA.
  1424.                 - if it is coming from 9:1/1 -> a new area is created
  1425.                   with path c:\file\NEWAREA and it is configured so that
  1426.                   NEF will use 9:999/999.9 (which must be an aka
  1427.                   previously defined in an Address statement) as the
  1428.                   from-address for outgoing .TICs.
  1429.                 - if it is coming from 9:2/2 -> a passthru area is
  1430.                   created with path d:\fido\passthru\NEWAREA.
  1431.         
  1432.         
  1433.         
  1434.         DescStart "<string>" <WTAG> [<WTAG> ...]
  1435.         
  1436.                 This allows to add <string> at the head of files.bbs
  1437.                 descriptions while tossing files from area TAGs that
  1438.                 match one of the <WTAG> specifications.
  1439.         
  1440.                 This statement is useful for people using download
  1441.                 counters and/or maximus flags for free download.
  1442.         
  1443.             Example:
  1444.         
  1445.                 DescStart "/bt [00] " 1* 2*
  1446.         
  1447.                 This adds "/bt [00] " at the head of files.bbs
  1448.                 descriptions while tossing files from areas whose TAG
  1449.                 begins with '1' or '2'.
  1450.         
  1451.         
  1452.         
  1453.         TagFwd <OrgTag> <FwdTag> <FileSpec> [<FileSpec> ...]
  1454.         
  1455.                 This allows to forward files from an area to another.
  1456.         
  1457.                 <OrgTag> and <FwdTag> are area TAGs.
  1458.                 <FileSpec> is a file specification that accepts the OS/2
  1459.                 style wildcards (?,*).
  1460.         
  1461.                 All ingoing files of area <OrgTag> which match one of
  1462.                 the <FileSpec>s are forwarded to area <FwdTag>.
  1463.                 This way you can split or merge areas.
  1464.         
  1465.             Example:
  1466.         
  1467.                 TagFwd 1-Comm Bbs AC*n prova.*
  1468.                 TagFwd 1-Data bbs *
  1469.                 TagFwd 1-DITO BBS *
  1470.                 TagFwd 1-Comm BBO *
  1471.                 TagFwd ISNMAIN POINTLST ptlist.* ptdoc.*
  1472.         
  1473.                 Files AC*n and prova.* coming from area 1-Comm and all
  1474.                 the files coming from 1-Data and 1-DITO are forwarded to
  1475.                 area BBS.
  1476.         
  1477.                 All the files from 1-COMM are also forwarded to area
  1478.                 BBO.
  1479.         
  1480.                 Files ptlist.* and ptdoc.* from area ISNMAIN are
  1481.                 forwarded to area POINTLST.
  1482.         
  1483.         
  1484.         
  1485.         FeatureLoad <DllName>
  1486.         
  1487.                 (OS/2) Loads a "Feature" DLL, to allow third party
  1488.                 extensions to NEF.
  1489.         
  1490.                 <DllName> can be a simple filename without extension
  1491.                 (".DLL" implied) if the DLL is in the LibPath, otherwise
  1492.                 a fully qualified filename (extension included) can be
  1493.                 specified.
  1494.         
  1495.         Feature <cfgline>
  1496.         
  1497.                 (OS/2) Allows to specify configuration statements that
  1498.                 are to be parsed by the DLL loaded with the previous
  1499.                 FeatureLoad.
  1500.         
  1501.             Note:
  1502.                 Multiple FeatureLoad statements are allowed, in which
  1503.                 case the Feature statements refer to the last loaded
  1504.                 DLL.
  1505.         
  1506.             Example:
  1507.         
  1508.                 FeatureLoad MyDll
  1509.                 Feature CfgItem1 "This is Item 1"
  1510.                 Feature CfgItem2 "This is Item 2"
  1511.         
  1512.         
  1513.         
  1514.                                TIC Announcements
  1515.         
  1516.         
  1517.         Each announcement area is defined by a dedicated group of
  1518.         statements. Many of these statements can be used before the
  1519.         first announcement area definition to establish defaults to be
  1520.         used in all subsequent area definitions, thus avoiding the need
  1521.         to unnecessarily repeat common statements.
  1522.         
  1523.         
  1524.                                 Global Keywords
  1525.         
  1526.             Statements that can be used before area definitions to set
  1527.             defaults (please note that all these statements can be
  1528.             overridden in each area definition).
  1529.         
  1530.         
  1531.         FromNode <address>
  1532.         
  1533.                 This specifies the 4D address to be used as the
  1534.                 from-address in the announcement messages: it is used in
  1535.                 the header, in the Origin and in the MSGID. Usually, it
  1536.                 should be your primary address.
  1537.         
  1538.             Example:
  1539.         
  1540.                 FromNode     2:332/504.0
  1541.         
  1542.         
  1543.         
  1544.         ToNode <address>
  1545.         
  1546.                 This specifies the 4D address to be used as the
  1547.                 to-address in the announcement messages: it is used in
  1548.                 the header. Usually, for echo area announcements, it
  1549.                 should be the same as in FromNode.
  1550.         
  1551.             Example:
  1552.         
  1553.                 ToNode       2:332/504.0
  1554.         
  1555.         
  1556.         
  1557.         From <name>
  1558.         
  1559.                 This specifies the name to be used as the from-name in
  1560.                 the announcement messages. Usually it should be the
  1561.                 SysOp name.
  1562.         
  1563.             Example:
  1564.         
  1565.                 From         Alberto Pasquale
  1566.         
  1567.         
  1568.         
  1569.         To <name>
  1570.         
  1571.                 This specifies the name to be used as the to-name in the
  1572.                 announcement messages. Usually it should be "All".
  1573.         
  1574.             Example:
  1575.         
  1576.                 To           All
  1577.         
  1578.         
  1579.         
  1580.         Subj <subject>
  1581.         
  1582.                 This specifies the string to be used as the subject in
  1583.                 the announcement messages.
  1584.         
  1585.             Note:
  1586.         
  1587.                 If the Subj text contains the ';' character, it MUST
  1588.                 be enclosed in quotes '"', otherwise it will be taken as
  1589.                 the start of a comment.
  1590.         
  1591.             Examples:
  1592.         
  1593.                 Subj    New Echo Files
  1594.                 Subj    "New files; OS/2 BBS"
  1595.         
  1596.         
  1597.         
  1598.         Attr [P][K][C|H|D|N|O]
  1599.         
  1600.                 This specifies the attributes to be used in the
  1601.                 announcement messages. Usually no special attribute is
  1602.                 necessary, except for private announcements in the
  1603.                 netmail area.
  1604.         
  1605.                 The available attributes are:
  1606.                 P -> Private
  1607.                 K -> Kill/Sent
  1608.                 C -> Crash
  1609.                 H -> Hold
  1610.                 D -> Direct (equivalent to "CH")
  1611.                 N -> Normal (default)
  1612.                 O -> Normal (default)
  1613.         
  1614.                 The required attributes can be listed in any order and
  1615.                 are not case sensitive.
  1616.         
  1617.             Examples:
  1618.         
  1619.                 Attr            ; no attributes
  1620.                 Attr N          ; no attributes (Normal flavour)
  1621.                 Attr PK         ; Private and Kill/Sent
  1622.                 Attr PC         ; Private and Crash
  1623.                 Attr PDK        ; Private, Direct, and Kill/Sent
  1624.         
  1625.         
  1626.         
  1627.         HighAsciiOk
  1628.         
  1629.                 Grants permission for High Ascii codes (> 127) in file
  1630.                 descriptions.
  1631.         
  1632.         
  1633.         
  1634.         Prefix <filename>
  1635.         
  1636.                 This specifies the file containing the prefix text for
  1637.                 announcement messages: it is put at the head of the
  1638.                 message body, just before the real announcement lines.
  1639.                 It should usually contain something like "New Echo Files
  1640.                 Received:".
  1641.         
  1642.             Example:
  1643.         
  1644.                 Prefix       d:\bbs\NEF\PREFIX.NEF
  1645.         
  1646.         
  1647.         
  1648.         Suffix <filename>
  1649.         
  1650.                 This specifies the file containing the suffix text for
  1651.                 announcement messages: it is put at the end of the
  1652.                 message body, just before the tear-line and the Origin.
  1653.                 It should usually contain something like "File Request
  1654.                 open to everybody between 06:00 and 23:00 GMT".
  1655.         
  1656.             Example:
  1657.         
  1658.                 Suffix       d:\bbs\NEF\SUFFIX.NEF
  1659.         
  1660.         
  1661.         
  1662.         Origin <origin>
  1663.         
  1664.                 This specifies the text to be used as the Origin in
  1665.                 announcement messages. The required " * " will
  1666.                 automatically be added at the head and the address at
  1667.                 the end, truncating <origin> if necessary to fit the 79
  1668.                 character maximum length.
  1669.                 To disable the Origin (e.g. in netmail area) use an
  1670.                 empty origin string.
  1671.         
  1672.             Note:
  1673.         
  1674.                 If the Origin text contains the ';' character, it MUST
  1675.                 be enclosed in quotes '"', otherwise it will be taken as
  1676.                 the start of a comment.
  1677.         
  1678.             Examples:
  1679.         
  1680.                 Origin       <ApWorks Modena I><Tel.+39-59-246112/3>
  1681.                 Origin       "ApWorks Modena I; +39-59-246112/3"
  1682.                 Origin       ; empty origin to disable origin generation
  1683.         
  1684.         
  1685.         
  1686.         AnnExclude <filespec> ...
  1687.         
  1688.                 The specified files are excluded from announcements.
  1689.         
  1690.                 When this statement is used inside an announcement-area
  1691.                 definition block, it specifies _additional_ exclusions
  1692.                 (besides those of a global statement, if present).
  1693.         
  1694.         
  1695.                                 Area Definition
  1696.         
  1697.             All the preceding statements can be used both before
  1698.             announcement area definitions (to set defaults) and inside
  1699.             each definition to override the defaults.
  1700.         
  1701.         
  1702.         AreaTag <Tag> [<path> [-$]]
  1703.         AreaPath <path> [-$]
  1704.         
  1705.                 One of these statements starts the definition of an
  1706.                 announcement area.
  1707.         
  1708.                 <Tag> is the area TAG, to be logged to EchoTossLog
  1709.                 provided this is not a NetMail area.
  1710.         
  1711.                 <path> is the directory for the *.MSG format or the full
  1712.                 filename (no extension) for the Squish base.
  1713.         
  1714.                 -$ specifies the use of the Squish format.
  1715.         
  1716.         
  1717.             AreaTag <Tag>
  1718.         
  1719.                 This is the form to be generally used when SquishCfg is
  1720.                 defined.
  1721.         
  1722.                 <Tag> will be looked up in SquishCfg to find the
  1723.                 corresponding path, message-base type and primary
  1724.                 address.
  1725.         
  1726.                 A local "FromNode" statement can be used to override the
  1727.                 primary address for the area (including -p<address>
  1728.                 specifications) found in SquishCfg.
  1729.         
  1730.                 If this is an EchoArea, its <Tag> will be output to the
  1731.                 EchoTossLog whenever a message is written to this area.
  1732.         
  1733.                 If this is a NetArea, as a default, the Origin will not
  1734.                 be used and the Private attribute will be set; you can
  1735.                 override this with local "Origin" and "Attr" statements.
  1736.         
  1737.         
  1738.             AreaTag <Tag> <path> [-$]
  1739.         
  1740.                 This is the form to be used for EchoMail areas when
  1741.                 SquishCfg is not defined or you want to override its
  1742.                 information AND you want <Tag> to be logged to
  1743.                 EchoTossLog.
  1744.         
  1745.         
  1746.             AreaPath <path> [-$]
  1747.         
  1748.                 This is the form to be used when SquishCfg is not
  1749.                 defined AND you do not need to log a <Tag> to
  1750.                 EchoTossLog (NetMail areas or no EchoTossLog defined).
  1751.         
  1752.             Notes:
  1753.         
  1754.                 Any of the statements described above in this
  1755.                 "Announcements" section can be used after the
  1756.                 AreaTag/AreaPath statement to override the defaults for
  1757.                 this announcement area only.
  1758.         
  1759.                 Please note that you can use different AreaTag/AreaPath
  1760.                 definitions with the same message area Tag/Path, in
  1761.                 order to announce different file areas in different
  1762.                 messages but in the same message area.
  1763.         
  1764.             Examples:
  1765.         
  1766.                 AreaTag OS2BBS
  1767.                 AreaTag OS2BBS d:\bbs\mail\os2bbs -$
  1768.                 AreaPath d:\bbs\mail\net
  1769.         
  1770.         
  1771.         
  1772.         Announce <WTAG> ...
  1773.         NoAnnounce <WTAG> ...
  1774.         
  1775.                 This defines the list of file areas to be announced in
  1776.                 the current announcement message area (the one defined
  1777.                 by the previous AreaTag/AreaPath statement).
  1778.         
  1779.                 Multiple statements are allowed.
  1780.         
  1781.                 All the TAGs that match one of the <WTAG>s in "Announce"
  1782.                 and do not match any of the <WTAG>s in "NoAnnounce" are
  1783.                 announced in the current area.
  1784.         
  1785.                 Obviously you can omit the "NoAnnounce" statement if you
  1786.                 do not need to exclude areas that have been included via
  1787.                 the "Announce" statement.
  1788.         
  1789.                 "Announce *" makes all the file areas announced.
  1790.         
  1791.             Special tags:
  1792.         
  1793.                 The following "special tags" can be used in "Announce"
  1794.                 or "NoAnnounce" statements as if they were normal area
  1795.                 TAGs, but are not included in the "*" wildcard (i.e.
  1796.                 "Announce *" does not make them announced).
  1797.         
  1798.                 "<BAD>" is used to announce all the TICs that have been
  1799.                 processed with some error.
  1800.         
  1801.                 "<DEF>" is used to announce all the files that have not
  1802.                 been announced elsewhere. A separate announcement is
  1803.                 generated after all other announcements have been
  1804.                 completed, even if "<DEF>" is listed together with other
  1805.                 TAGs.
  1806.         
  1807.                 "<OUT>" is used to make a concise outbound report when
  1808.                 the OUT or OUTVIEW command line option is used.
  1809.                 Subj, Prefix and Suffix are ignored.
  1810.         
  1811.                 "<OUTVIEW>" is used to make a detailed outbound report
  1812.                 when the OUT or OUTVIEW command line option is used.
  1813.                 Subj, Prefix and Suffix are ignored.
  1814.         
  1815.                 "<THRU>" represents all passthru areas. If you want to
  1816.                 keep NEF from announcing files received in PassThru
  1817.                 areas, just use "NoAnnounce <THRU>".
  1818.         
  1819.             Examples:
  1820.         
  1821.                 Announce UTILNET SOFTDIST SDS*
  1822.                 NoAnnounce SDSOTH <THRU>
  1823.         
  1824.                 This announces the file areas with tag "UTILNET",
  1825.                 "SOFTDIST" and all those whose TAG starts with "SDS" but
  1826.                 not "SDSOTH" or passthru areas.
  1827.         
  1828.                 Announce PRIVFILE <BAD> <DEF>
  1829.         
  1830.                 This announces area "PRIVFILE" and all the TICs that
  1831.                 have been processed with errors; at the end, in a
  1832.                 separate message, it announces the files that have not
  1833.                 been announced elsewhere.
  1834.         
  1835.                 Announce SPECIAL <OUT>
  1836.         
  1837.                 This announces the file area with tag "SPECIAL"; at the
  1838.                 end, in a separate message, it creates a concise report
  1839.                 of the outbound.
  1840.         
  1841.                 Announce SPECIAL <OUTVIEW>
  1842.         
  1843.                 This announces the file area with tag "SPECIAL"; at the
  1844.                 end, in a separate message, it creates a verbose report
  1845.                 of the outbound.
  1846.         
  1847.         
  1848.         
  1849.         
  1850.             Complete example of the announcement definition section,
  1851.             SquishCfg defined:
  1852.         
  1853.         ----------------------------------------------------------------
  1854.         
  1855.           ; Defaults definition
  1856.         
  1857.             FromNode     2:332/504.0
  1858.             ToNode       2:332/504.0
  1859.             From         Alberto Pasquale
  1860.             To           All
  1861.             Subj         New Echo Files
  1862.             Attr
  1863.             Prefix       PREFIX.NEF
  1864.             Origin       ApWorks Modena I (+39-59-246112/3)
  1865.             Suffix       SUFFIX.NEF
  1866.         
  1867.           ; Announcement areas: each statement is local to the preceding
  1868.           ; AreaTag and overrides the default one.
  1869.         
  1870.             AreaTag      APWORKS
  1871.             Announce     APBBS*
  1872.             Prefix       RelPre.NEF
  1873.             Subj         New ApWorks files
  1874.         
  1875.             AreaTag      OS2BBS
  1876.             Announce     APBBS*
  1877.             NoAnnounce   *DOS*
  1878.             Prefix       RelPre.NEF
  1879.             Subj         New APBBS files
  1880.         
  1881.             AreaTag      LOCAL_332.504
  1882.             Announce     *
  1883.             AnnExclude   NODE*
  1884.             Subj         New Files on ApWorks
  1885.         
  1886.             AreaTag      NETMAIL
  1887.             Announce     <OUTVIEW> <DEF>
  1888.             From         NEF
  1889.             To           Alberto Pasquale
  1890.             Subj         Not Announced Elsewhere
  1891.             HighAsciiOk
  1892.         
  1893.             AreaTag      NETMAIL
  1894.             Announce     <BAD>
  1895.             From         NEF
  1896.             To           Alberto Pasquale
  1897.             ToNode       2:332/504.1
  1898.             Subj         Processed with Errors
  1899.         
  1900.         ----------------------------------------------------------------
  1901.         
  1902.             Complete example of the announcement definition section,
  1903.             SquishCfg NOT defined:
  1904.         
  1905.         ----------------------------------------------------------------
  1906.         
  1907.           ; Defaults definition
  1908.         
  1909.             FromNode     2:332/504.0
  1910.             ToNode       2:332/504.0
  1911.             From         Alberto Pasquale
  1912.             To           All
  1913.             Subj         New Echo Files
  1914.             Attr
  1915.             Prefix       PREFIX.NEF
  1916.             Origin       <ApWorks Modena I><Tel.+39-59-246112/3>
  1917.             Suffix       SUFFIX.NEF
  1918.         
  1919.           ; Announcement areas: each statement is local to the preceding
  1920.           ; AreaPath and overrides the default one.
  1921.         
  1922.             AreaTag      SWN_332.500 d:\msg\swn -$
  1923.             Announce     UTILNET
  1924.             Subj         UTILNET file news
  1925.         
  1926.             AreaTag      SWN_332.500 d:\msg\swn -$
  1927.             Announce     FIDONEWS SDS* ECHO-* FTSC NEWSLETR SOFTDIST
  1928.             NoAnnounce   ECHO-R*
  1929.             Subj         SDS/NEWS file news
  1930.         
  1931.             AreaPath     d:\msg\net -$    ; Netmail to the SysOp
  1932.             Announce     NODE* POINTLST <BAD> <DEF> <OUTVIEW>
  1933.             From         NEF
  1934.             To           Alberto Pasquale
  1935.             ToNode       2:332/504.1
  1936.             Subj         Reserved file news
  1937.             Attr         PK      ; This must be private and kill/sent
  1938.             Origin               ; No Origin for netmail !
  1939.         
  1940.         ----------------------------------------------------------------
  1941.         
  1942.         
  1943.         
  1944.         
  1945.                                FileFix Link Robot
  1946.         
  1947.         
  1948.         It's the traditional "Raid" or "TicFix" function: it allows
  1949.         downlinks (but also special uplinks) to link/unlink file areas
  1950.         via a netmail message.
  1951.         
  1952.         The message should have the agreed password as the subject,
  1953.         possibly followed by some switch.
  1954.         The required password is that defined in the "FileLink"
  1955.         statement described below.
  1956.         
  1957.         The body of the message contains the commands.
  1958.         There can be several commands on a single line provided they are
  1959.         separated by blanks.
  1960.         
  1961.         Password, switches and commands are case insensitive.
  1962.         
  1963.         Switches that can be used in the subject, after the password,
  1964.         only the _first_ letter is required (and checked):
  1965.         
  1966.             -Help           Help.
  1967.             -Query          List all areas (linked and available).
  1968.             -Linked         List linked areas.
  1969.             -Unlinked       List unlinked areas.
  1970.         
  1971.         
  1972.         The commands available for the message body are:
  1973.         
  1974.             [+]<WTAG>
  1975.                 Links all the areas whose TAG matches <WTAG>.
  1976.                 The '+' character is optional (useful in the case <WTAG>
  1977.                 starts with the '-' character).
  1978.         
  1979.             -<WTAG>
  1980.                 Unlinks all the areas whose TAG matches <WTAG>.
  1981.         
  1982.             %Help        same as -h
  1983.             %Query       same as -q
  1984.             %List        same as -q
  1985.             %Linked      same as -l
  1986.             %Unlinked    same as -u
  1987.         
  1988.             Note: you can use the '?' character in the place of '%'.
  1989.             This is useful when using the FileFix command line option,
  1990.             to avoid that the command line interpreter takes the '%'
  1991.             as the start of an environment variable name.
  1992.         
  1993.         Example:
  1994.         
  1995.                 From: John Doe of 2:332/580.0
  1996.                 To:   Nef      of 2:332/504.0
  1997.                 Subj: Secret -H
  1998.                 -----------------------------
  1999.                 %Query
  2000.                 1* -1-COMM
  2001.                 +2*
  2002.                 -2-WINDOW
  2003.                 ---
  2004.         
  2005.                 The Help and Query commands are invoked, all areas whose
  2006.                 tag begins with '1' are linked, area "1-COMM" is
  2007.                 unlinked, all areas whose tag begins with '2' are linked
  2008.                 and area "2-WINDOW" is unlinked.
  2009.         
  2010.         Notes:
  2011.                 The actual order of command execution is based on the
  2012.                 area definition order. NEF scans the defined areas from
  2013.                 the first to the last one only once, applying for each
  2014.                 area all the pertinent commands.
  2015.         
  2016.                 If a link in a FileArea statement is not properly
  2017.                 defined in a FileLink one, it is removed when the
  2018.                 Link Robot re-writes that FileArea statement in
  2019.                 execution of an Add or Delete command.
  2020.         
  2021.                 While re-writing areas, the Link Robot will NOT re-order
  2022.                 the links. However it will respect an existing order
  2023.                 while adding new links.
  2024.         
  2025.                 If Area aka overrides are used, they are reported by
  2026.                 Area-List commands.
  2027.         
  2028.         
  2029.         
  2030.         AutoLink <name>
  2031.         
  2032.                 The robot will answer to the messages addressed to one
  2033.                 of the addresses defined in the "system" section and to
  2034.                 one of the names defined in the AutoLink statements.
  2035.                 You can use as many AutoLink statements as you need to
  2036.                 define all the akas you like.
  2037.                 If no AutoLink statement is used, then the Link Robot is
  2038.                 disabled.
  2039.         
  2040.             Example:
  2041.         
  2042.                 AutoLink NEF
  2043.                 AutoLink Raid
  2044.                 AutoLink TicFix
  2045.         
  2046.         
  2047.         NetMail <path> [-$] [-p<adr>]
  2048.         
  2049.                 This defines a netmail area to be searched for messages
  2050.                 addressed to the robot. You can use as many NetMail
  2051.                 statements as you need.
  2052.         
  2053.                 The optional -$ indicates a Squish format area.
  2054.         
  2055.                 The optional "-p<adr>" specifies the primary (default)
  2056.                 address for the area.
  2057.         
  2058.                 When multiple NetMails are defined, NEF needs <adr> to
  2059.                 choose (via zone matching) the right area where to write
  2060.                 the messages addressed to the FileBone's "FileFix" robot.
  2061.         
  2062.                 Usually all but the first netmail statements should
  2063.                 contain a primary address specification.
  2064.         
  2065.                 Note: when a Squish base is used, a pointer to the last
  2066.                 scanned message is stored in <path>.NEF, so that next
  2067.                 scan will consider new messages only.
  2068.         
  2069.             Example:
  2070.         
  2071.                 NetMail d:\msg\fidonet -$              ; default
  2072.                 NetMail d:\msg\os2net  -$ -p89:456/789 ; OS2Net
  2073.         
  2074.         
  2075.         
  2076.         KillReceived
  2077.         
  2078.                 This keyword instructs NEF to kill messages addressed to
  2079.                 the Link Robot after the execution of the contained
  2080.                 commands. When commented out, the messages are marked as
  2081.                 received instead of being erased.
  2082.         
  2083.         
  2084.         AreaDescWrap <indent> <right>
  2085.         
  2086.                 The descriptions returned by the "FileFix" functions
  2087.                 will be word-wrapped so that continuation lines start
  2088.                 with <indent> spaces and do not exceed column <right>.
  2089.         
  2090.             Example:
  2091.         
  2092.                 AreaDescWrap 25 79
  2093.         
  2094.         
  2095.         
  2096.         HelpFile <filename>
  2097.         
  2098.                 This keyword defines the file to be put into the Link
  2099.                 Robot's answer in reply to a Help request.
  2100.         
  2101.                 Usually this file contains instructions for using the
  2102.                 Link Robot.
  2103.         
  2104.             Example:
  2105.         
  2106.                 HelpFile d:\bbs\nef\NefHelp.Txt
  2107.         
  2108.         
  2109.         
  2110.         ProtArea <WTAG> <level>[/<keys>]
  2111.         
  2112.                 This keyword allows to selectively protect areas from
  2113.                 automatic linking. Unlinking is always possible.
  2114.         
  2115.                 The protection scheme is based on the traditional
  2116.                 combination of level and keys.
  2117.         
  2118.                 <WTAG>  specifies the TAG or group of TAGs to be
  2119.                         protected.
  2120.                 <level> is an integer number in the range 0-65535.
  2121.                 <keys>  is a subset of the following 32 element set:
  2122.                         {12345678ABCDEFGHIJKLMNOPQRSTUVWX}
  2123.                         These keys are case insensitive.
  2124.         
  2125.                 When processing an area TAG, NEF scans the ProtArea
  2126.                 statements from the first one to the last one: the first
  2127.                 matching <WTAG> determines the protection level and
  2128.                 keys. If no match is found, <level> is assumed to be the
  2129.                 maximum and <keys> the full set of available keys, so
  2130.                 that the area gains maximum protection.
  2131.         
  2132.                 Usually it's convenient to override the default maximum
  2133.                 protection so that you can list only a few special areas
  2134.                 with their protection level and keys while letting all
  2135.                 the others get a default NULL protection (automatic
  2136.                 linking for everybody). To accomplish this result, you
  2137.                 can use a "ProtArea * 0" as the last ProtArea statement.
  2138.         
  2139.                 Please, note that the order of the ProtArea statements is
  2140.                 _essential_, since they area scanned from the first one
  2141.                 to the last one in search for a match between the TAG in
  2142.                 examination and the <WTAG> of the ProtArea statements.
  2143.         
  2144.             Example:
  2145.         
  2146.                 ProtArea PRIVATE  1000/12ABC  ; Protected private area
  2147.         
  2148.                 ProtArea 1*       100/P       ; Areas starting with '1'
  2149.                                               ; are not for everybody.
  2150.         
  2151.                 ProtArea *        0           ; The remaining areas are
  2152.                                               ; for everybody.
  2153.         
  2154.         
  2155.         
  2156.                                 FileBone Support
  2157.         
  2158.         
  2159.         NEF is able to use information distributed via the FileBone.Na
  2160.         and FileBone.No files.
  2161.         
  2162.         Many useful functions are allowed by the use of these files, so,
  2163.         even if you do not receive them from your uplink, you could
  2164.         evaluate the possibility of creating "FileBone-style" files on
  2165.         your own, just to store some information that can be retrieved
  2166.         by NEF.
  2167.         
  2168.         When FileBone-style files are used:
  2169.         
  2170.         - The Query command reports the areas available on the FileBone,
  2171.           in addition to those that are not linked to the downlink but
  2172.           already available on the local system.
  2173.         
  2174.         - Area descriptions can be returned by FileFix commands.
  2175.         
  2176.         - Level and Keys protect areas from "FileFix" linking.
  2177.           A node is entitled to add an area only if it has level and
  2178.           keys that match the requirements from BOTH the "ProtArea"
  2179.           statements in Nef.Cfg and the <lev>[/<keys>] specification
  2180.           in a FileBone format file (if available).
  2181.         
  2182.         - Requests for unlinked areas can be forwarded to the FileBone.
  2183.         
  2184.           The requests that have been forwarded to some uplink are
  2185.           stored in a file named after the configuration one, changing
  2186.           the extension to ".Fwd". Usually the configuration file is
  2187.           "Nef.Cfg", so the forwarded requests will be stored in
  2188.           "Nef.Fwd".
  2189.         
  2190.           The format is: <Tag> <Addr>, i.e. every line contains a Tag
  2191.           followed by the 4D Address of the downlink that made the
  2192.           request.
  2193.         
  2194.           When a new area is created, NEF looks into this file in order
  2195.           to find nodes to be added to the new "FileArea" definition.
  2196.         
  2197.           If a requested (and not yet defined) Tag is found in two or
  2198.           more FileBone files, the request is forwarded to the uplink
  2199.           defined in the first FileBone statement only.
  2200.         
  2201.           Don't mind if the Nef.Fwd file contains multiple entries for
  2202.           the same Tag. This can happen when multiple requests for the
  2203.           same area have been received. When the first file comes in
  2204.           and the area is created, all entries will be deleted while
  2205.           the link will be added once.
  2206.           
  2207.         
  2208.         
  2209.         FileBone <file> [<fm> <to> <toadr> <acc> [<pre>]]
  2210.         
  2211.                 Multiple FileBone statements are allowed.
  2212.         
  2213.                 <file> is the filename of the FileBone-style file.
  2214.         
  2215.                 If you want to enable the forward of requests for new
  2216.                 areas from your downlinks to your uplink(s), you must
  2217.                 specify the following fields (to be enclosed between
  2218.                 quotes when containing space) so that they can be used
  2219.                 to write netmail messages to your uplink's FileFix:
  2220.         
  2221.                 <fm> is the "from" name.
  2222.         
  2223.                 <to> is the "to" name.
  2224.         
  2225.                 <toadr> is the "to" 4D address.
  2226.         
  2227.                 <acc> is a <level>[/keys] specification, to limit the
  2228.                       access of downlinks to request forwards addressed
  2229.                       to <toadr> for the areas described in <file>.
  2230.         
  2231.                 <pre> is an optional string to be prefixed to the area
  2232.                       Tags that are being requested.
  2233.         
  2234.             Examples:
  2235.         
  2236.                 FileBone \bbs\FileBone.Na "John Doe" SysOp 2:332/1 0
  2237.         
  2238.                 The "\bbs\FileBone.Na" file is used by NEF, also for
  2239.                 request forwards.
  2240.         
  2241.                 When a downlink requests an area that is not currently
  2242.                 defined in the NEF configuration (usually TicArea.Cfg)
  2243.                 but is described in FileBone.Na, a netmail message is
  2244.                 written by NEF from "John Doe" to "SysOp" of 2:332/1
  2245.                 using the appropriate "from address" aka and "subject"
  2246.                 (password) as per the "FileLink" definition of 2:332/1.
  2247.                 The body contains a list of the requested area Tags, one
  2248.                 per line.
  2249.         
  2250.                 No (<acc> = "0") protection is specified (any downlink
  2251.                 has access to request forwards).
  2252.         
  2253.         
  2254.                 FileBone \bbs\FB.SP "John Doe" SysOp 2:332/1 30/a +
  2255.         
  2256.                 Only downlinks with level equal or above 30 and with the
  2257.                 'A' key have access to request forwards. The requested
  2258.                 tags will be preceded by "+".
  2259.         
  2260.                 If you need a space between the '+' and the tag, then you
  2261.                 must specify a <pre> that contains a space, so you have
  2262.                 to enclose it in quotes:
  2263.         
  2264.                 FileBone \bbs\FB.SP "John Doe" SysOp 2:332/1 0 "+ "
  2265.         
  2266.         
  2267.                                 FileBone Format
  2268.         
  2269.         The format for the filebone style is:
  2270.         
  2271.           Area <Tag> <lev>[/<keys>] <flags> <desc>
  2272.         
  2273.           <Tag>
  2274.                   is the TIC area Tag.
  2275.                   The original filebone format allows 8 character
  2276.                   maximum but NEF is not that limited.
  2277.         
  2278.           <lev>
  2279.                   is the protection level of the area, for "FileFix"
  2280.                   functions.
  2281.                   The original format allows the range 0-4095 while NEF
  2282.                   allows 0-65535.
  2283.         
  2284.           <keys>
  2285.                   are a set of protection keys (1..8, A..X).
  2286.                   Not available in the original FileBone format.
  2287.         
  2288.           <flags>
  2289.                 is a combinaton of !.*& and possibly other characters.
  2290.         
  2291.                 By default (no flags) the area is uni-directional, from
  2292.                 the uplink to the defined downlinks.
  2293.         
  2294.                 ! : Can be found at any Filebone Hub.
  2295.                 . : Only on some Filebone Hubs.
  2296.                 * : Any node can hatch into.
  2297.                 & : Do not send to downlinks.
  2298.         
  2299.            Others : Private distribution.
  2300.         
  2301.            Examples:
  2302.         
  2303.                 !
  2304.                     normal area from the uplink to its downlinks,
  2305.                     available on all Filebone Hubs.
  2306.         
  2307.               !*&
  2308.                     return channel from the downlinks to the
  2309.                     uplink, available on all Filebone Hubs.
  2310.         
  2311.                .*
  2312.                     bidirectional area (any node can hatch into),
  2313.                     available on some Filebone hubs only.
  2314.         
  2315.         
  2316.           <desc>
  2317.                 is the description for the area.
  2318.         
  2319.         
  2320.           Example:
  2321.         
  2322.           Area APBBS    0   P ApWorks OS/2 BBS programs
  2323.           Area NODEDIFF 0/f ! FidoNet: Weekly NodeList Updates
  2324.         
  2325.         
  2326.         
  2327.         ForwardWildReq
  2328.         
  2329.                 When a FileFix "Add" request contains wildcards, by
  2330.                 default it is NOT forwarded to the filebone.
  2331.                 This verb enables even this type of request forward.
  2332.         
  2333.         
  2334.         
  2335.                                 Link Definitions
  2336.         
  2337.         
  2338.         The FileLink statement is used to define a link, specifying its
  2339.         password, attributes and privileges.
  2340.         
  2341.         The FileArea statement is used to define a file area, specifying
  2342.         its type and the list of connected systems (that must be defined
  2343.         via FileLink statements).
  2344.         
  2345.         
  2346.         FileLink <address> <password> [#<address>] <flags>
  2347.                  [<attr> [<level>[/<keys>] [<WTAG> ...]]]
  2348.         
  2349.                 The parameters of this keyword have been represented on
  2350.                 two lines because of space, but they MUST be listed on a
  2351.                 unique line in the .cfg file.
  2352.         
  2353.                 This keyword defines a file link; you must use a
  2354.                 FileLink statement for each of your links (both
  2355.                 downlinks and uplinks).
  2356.         
  2357.         
  2358.                 <address>
  2359.                            is the 4D address of the link.
  2360.         
  2361.                 <password>
  2362.                            is the case insensitive password to be used
  2363.                            for all TIC exchanges and for the Link Robot
  2364.                            function. NEF has no limit for the password
  2365.                            length, anyway you should be aware that other
  2366.                            similar programs might have limits, so check
  2367.                            with your downlink/uplink before choosing a
  2368.                            long password (8 characters should be OK for
  2369.                            everyone).
  2370.         
  2371.                 #<address>
  2372.                            This optional field indicates a "from" 4D
  2373.                            address to be used for the .TICs sent to this
  2374.                            link (overrides the zone-match and is in turn
  2375.                            overriden by the area override (see
  2376.                            "FileArea")).
  2377.         
  2378.                 <flags>
  2379.                            This field is a (case insensitive) set of
  2380.                            characters:
  2381.         
  2382.                            <H|C|D|N|F>[<S|T>][<I|O|*>][Y].
  2383.         
  2384.                            It can be 1 to 4 characters long:
  2385.         
  2386.                          - The first flag is mandatory; it defines the
  2387.                            flavour of the file-attaches that NEF will
  2388.                            create for .TIC and associated files.
  2389.         
  2390.                            Please note that this flag can be overridden
  2391.                            on a per-area basis by prefixing the link
  2392.                            address with a new flavour-flag in the
  2393.                            FileArea statement.
  2394.         
  2395.                            The available choices for this flag and the
  2396.                            consequent file-attach extension follow:
  2397.         
  2398.                            H -> .HLO (Hold)
  2399.                            C -> .CLO (Crash)
  2400.                            D -> .DLO (Direct)
  2401.                            F -> .FLO (Normal)
  2402.                            N -> .FLO (Normal)
  2403.         
  2404.                            The 'N' flag is provided for "compatibility",
  2405.                            but it's the same as 'F'.
  2406.         
  2407.                          - The second flag is optional: it defines
  2408.                            whether NEF must send a .TIC together with
  2409.                            the file or not.
  2410.         
  2411.                            S -> .TIC sent (default).
  2412.                            T -> .TIC not sent.
  2413.         
  2414.                            Usually the default is used (this flag can be
  2415.                            omitted), but sometimes points like not
  2416.                            receiving the .TIC file.
  2417.         
  2418.                            Please note that this flag can be overridden
  2419.                            on a per-area basis by prefixing the link
  2420.                            address with a new flag in the FileArea
  2421.                            statement.
  2422.         
  2423.                          - The third flag is optional. It is provided
  2424.                            for completeness and it is sometimes very
  2425.                            handy, but it is recommended not to use it
  2426.                            too often since its use might unnecessarily
  2427.                            complicate the interpretation of the
  2428.                            configuration.
  2429.         
  2430.                            It defines whether this link has
  2431.                            bidirectional access to file areas or not.
  2432.         
  2433.                            This is an override to the "area direction"
  2434.                            field of each FileArea definition.
  2435.         
  2436.                            Please note that this flag can be overridden
  2437.                            on a per-area basis by prefixing the link
  2438.                            address with a new flag in the FileArea
  2439.                            statement.
  2440.         
  2441.                            I -> Only Input is allowed from this link.
  2442.                                 NEF will not send files.
  2443.                            O -> Only output is allowed to this link.
  2444.                                 NEF will not accept files.
  2445.                            * -> Bidirectional link.
  2446.         
  2447.                          - The fourth flag ('Y') is optional.
  2448.                            It defines the systems that will be notified
  2449.                            when a "Nef Notify" command is issued, with
  2450.                            no address list.
  2451.         
  2452.                 <attr>
  2453.                            These are the (case insensitive) attributes
  2454.                            for the Link Robot's netmail replies:
  2455.         
  2456.                            K -> Kill/Sent
  2457.                            C -> Crash
  2458.                            H -> Hold
  2459.                            D -> Direct (equivalent to "CH")
  2460.                            N -> Normal (default)
  2461.                            O -> Normal (default)
  2462.         
  2463.                            The Private attribute is always implied.
  2464.         
  2465.                            ATTENTION: you should usually use the 'H'
  2466.                            attribute for file links that are not netmail
  2467.                            links too. Otherwise the "Normal" flavoured
  2468.                            netmail replies will be routed as per your
  2469.                            routing configuration instead of being held
  2470.                            for the file link.
  2471.         
  2472.                 <level>
  2473.                            This is an integer number in the range
  2474.                            0-65535 and represents the access level to
  2475.                            the Link Robot for this node. Defaults to 0.
  2476.         
  2477.                            If it is greater or equal to the protection
  2478.                            level of a certain file area, then this node
  2479.                            can link the area via the Link Robot,
  2480.                            provided it has the necessary keys.
  2481.         
  2482.                 <keys>
  2483.                            is a subset of the following 32 element set:
  2484.                            {12345678ABCDEFGHIJKLMNOPQRSTUVWX}
  2485.                            and represents the (case insensitive) access
  2486.                            keys to the Link Robot for this node.
  2487.         
  2488.                            If <keys> contains all the keys that protect
  2489.                            a certain area, then the node can link the
  2490.                            area via the Link Robot, provided it has a
  2491.                            sufficient access level.
  2492.         
  2493.                 <WTAG>
  2494.                            The optional list of <WTAG>s specifies the
  2495.                            area TAGs that must be automatically linked
  2496.                            to this node when they are automatically
  2497.                            created by NEF.
  2498.         
  2499.                            New areas can be automatically created when
  2500.                            unknown TAGs are found in ingoing .TICs (see
  2501.                            "NewAreasFrom" above in this reference).
  2502.                            You can make NEF automatically link the
  2503.                            downlink to the areas that match the <WTAG>
  2504.                            specification(s).
  2505.         
  2506.         
  2507.             Examples:
  2508.         
  2509.         
  2510.               - FileLink 2:332/593 pwd593 INY
  2511.         
  2512.                 Node 2:332/593 has password "pwd593", is enabled to send
  2513.                 .TICs to us ('I'), the file attaches addressed to it
  2514.                 (if any) will be normal flavoured ('N') and a
  2515.                 notification message will be issued when "Nef Notify" is
  2516.                 executed ('Y').
  2517.         
  2518.                 Note that file attaches to this node will only be
  2519.                 possible if a local area override will be used, since
  2520.                 the 'I' flag instructs NEF to accept files from the node
  2521.                 but not to send to it.
  2522.         
  2523.                 Nothing is specified about the Link Robot's reply flags
  2524.                 and access level and keys, so this node will be able to
  2525.                 link only areas with protection level 0 and no keys; the
  2526.                 Robot's reply will be normal flavoured.
  2527.         
  2528.               - FileLink 2:331/196.1 pwd1961 H NK 300/ab
  2529.         
  2530.                 Node 2:331/196.1 has password "pwd1961", nothing is
  2531.                 specified about link direction (it will depend on the
  2532.                 "area direction" and local overrides), the file attaches
  2533.                 will be Hold flavoured ('H'), the reply netmails will be
  2534.                 normal flavoured ('N') and kill/sent ('K'), the access
  2535.                 level is 300 and the access keys are a,b.
  2536.         
  2537.               - FileLink 2:332/1 pwd1 #2:332/500 H N 900/ab MI* *OS2*
  2538.         
  2539.                 Node 2:332/1 has password "pwd1", all the TICs sent to
  2540.                 this node will use the from-address 2:332/500 (provided
  2541.                 there is no aka override at the "FileArea" level), the
  2542.                 file attaches will be Hold flavoured ('H'), the netmail
  2543.                 replies will be normal flavoured ('N'), the access level
  2544.                 is 900 and the access keys a,b.
  2545.         
  2546.                 New areas whose TAG begins with "MI" or contains "OS2"
  2547.                 will be automatically linked when they are automatically
  2548.                 created by NEF.
  2549.         
  2550.         
  2551.         FileArea <TAG> <path> I|O|* [#<address>] [-0[<days>]]
  2552.                  [[<flags>]<link> ...]
  2553.         
  2554.                 The parameters of this keyword have been represented on
  2555.                 two lines because of space, but they MUST be listed on a
  2556.                 unique line in the .cfg file.
  2557.         
  2558.                 This keyword defines an echo file area.
  2559.         
  2560.                 If you have a small system, you can put the area
  2561.                 definitions in the main configuration file (e.g.
  2562.                 NEF.CFG). For systems with a large number of areas and
  2563.                 links, it is recommended to use a separate file for the
  2564.                 area definitions: see the "TicAreaCfg" keyword, formerly
  2565.                 discussed in this documentation.
  2566.         
  2567.                 ATTENTION: when using the "TicAreaCfg" separate file,
  2568.                 you must put ALL the FileArea statements in that file.
  2569.                 You are not allowed to put area definitions both in the
  2570.                 main .cfg file and in the dedicated TicAreaCfg file at
  2571.                 the same time !
  2572.         
  2573.                 Please note that all the FileArea statements, if
  2574.                 included in the main .cfg file, MUST be defined _after_
  2575.                 the FileLink statements.
  2576.         
  2577.                 <TAG> is the area TAG.
  2578.         
  2579.                 <path> is the directory for the file area.
  2580.         
  2581.                 I|O|*  is the (case insensitive) "area direction" and
  2582.                        defines the default direction for the area:
  2583.         
  2584.                     'I'
  2585.                          we accept files from the listed nodes but do
  2586.                          not send to them, unless an override flag is
  2587.                          present before the <link> or in the pertinent
  2588.                          "FileLink" definition.
  2589.         
  2590.                          This should usually be used for "pre" areas, in
  2591.                          which files must be collected from downlinks
  2592.                          and sent to the area coordinator via the
  2593.                          uplink, which will probably need a local 'O'
  2594.                          override.
  2595.         
  2596.                     'O'
  2597.                          we send files to the listed nodes but do not
  2598.                          accept from them, unless an override flag is
  2599.                          present before the <link> or in the pertinent
  2600.                          "FileLink" definition.
  2601.         
  2602.                          This should usually be used for areas that must
  2603.                          be distributed to downlinks. The uplink will
  2604.                          need a local 'I' override before its <link>
  2605.                          field or a global one in its FileLink
  2606.                          definition.
  2607.         
  2608.                     '*'
  2609.                          the area is bidirectional, so we both send and
  2610.                          accept files to/from the listed nodes, unless
  2611.                          an override flag is present before the <link>
  2612.                          or in the pertinent "FileLink" definition.
  2613.         
  2614.                          This should be used for bidirectional areas, in
  2615.                          which everybody is allowed to "hatch" files.
  2616.         
  2617.         
  2618.                 #<address>
  2619.                          defines the primary address to be used for
  2620.                          this area; overrides both the default
  2621.                          zone-match and the aka overrides in "FileLink"
  2622.                          definitions
  2623.         
  2624.                 -0[<days>]
  2625.                          When the "-0" (zero) is specified, the area is
  2626.                          "Passthru", that is its files will be deleted
  2627.                          when already sent to all the downlinks. Please
  2628.                          note that ANY file (apart from FILES.*) present
  2629.                          in the <path> and not attached to any system
  2630.                          will be deleted.
  2631.         
  2632.                          If the optional <days> parameter is used, the
  2633.                          files will not be deleted until they become
  2634.                          older than <days> _AND_ not referenced by any
  2635.                          file attach.
  2636.         
  2637.                          <days> is an integer <= 65535.
  2638.         
  2639.                          Please note that you can use the Touch and
  2640.                          KillDate statements to control the date used to
  2641.                          evalutate the file age.
  2642.         
  2643.                          NEF must be explicitly instructed to delete the
  2644.                          old files in passthru areas, usually in some
  2645.                          maintenance event.
  2646.         
  2647.                          See also the "-p" and "CLEAN" command line
  2648.                          options.
  2649.         
  2650.                 The list of linked nodes follows; each node can have
  2651.                 some <flags> attached before the node address. The
  2652.                 available flags are the same as for the <flags> field in
  2653.                 the "FileLink" statement.
  2654.         
  2655.                 <flags>
  2656.                            This is an optional (case insensitive) field
  2657.                            made up of 1 to 3 characters:
  2658.                            [H|C|D|N|F][S|T][I|O|*].
  2659.         
  2660.                          - The first flag defines the flavour of the
  2661.                            file-attaches that NEF will create for .TIC
  2662.                            and associated files.
  2663.         
  2664.                            Please note that this flag overrides that in
  2665.                            the pertinent "FileLink" statement.
  2666.         
  2667.                            The available choices for this flag and the
  2668.                            consequent file-attach extension follow:
  2669.         
  2670.                            H -> .HLO (Hold)
  2671.                            C -> .CLO (Crash)
  2672.                            D -> .DLO (Direct)
  2673.                            F -> .FLO (Normal)
  2674.                            N -> .FLO (Normal)
  2675.         
  2676.                            The 'N' flag is provided for "compatibility",
  2677.                            but it's the same as 'F'.
  2678.         
  2679.                          - The second flag defines whether NEF must send
  2680.                            a .TIC together with the file or not.
  2681.         
  2682.                            S -> .TIC sent.
  2683.                            T -> .TIC not sent.
  2684.         
  2685.                            Please note that this flag overrides that in
  2686.                            the pertinent "FileLink" statement.
  2687.         
  2688.                          - The third flag defines the direction of the
  2689.                            link.
  2690.         
  2691.                            Please note that this flag overrides that in
  2692.                            the pertinent "FileLink" statement, which in
  2693.                            turn overrides the "area direction".
  2694.         
  2695.                            I -> Only Input is allowed from this link.
  2696.                                 NEF will not send files.
  2697.                            O -> Only output is allowed to this link.
  2698.                                 NEF will not accept files.
  2699.                            * -> Bidirectional link.
  2700.         
  2701.                 <link>
  2702.                            This is a 4D address, that can be abbreviated
  2703.                            whenever the preceding address has the same
  2704.                            zone, zone:net or zone:net/node.
  2705.         
  2706.                            For the first <link>, if incomplete, the
  2707.                            primary address for the area is used; anyway
  2708.                            NEF always writes the first address in
  2709.                            complete form when rewriting the area due to
  2710.                            a Link Robot command.
  2711.         
  2712.             Examples:
  2713.         
  2714.             Please note that the situation might be a little different
  2715.             from what explained below, since the FileLink definitions
  2716.             could have some overriding flags.
  2717.         
  2718.         
  2719.             FileArea AREA1 d:\file\area1 O I2:332/1 504.1 .2 1:2/3
  2720.         
  2721.             Typical area definition, where we receive from the
  2722.             uplink (marked with 'I') and forward to the listed downlinks
  2723.             (area direction 'O').
  2724.         
  2725.         
  2726.             FileArea AREA2 d:\file\area2 O -0 I2:332/1 504.1 .2 1:2/3
  2727.         
  2728.             Same as above, but passthru.
  2729.         
  2730.         
  2731.             FileArea AREA3 d:\file\area3 O -030 I2:332/1 504.1 .2 1:2/3
  2732.         
  2733.             Same as above, but the files will not be deleted until they
  2734.             are 30 day old.
  2735.         
  2736.         
  2737.             FileArea AREA4 d:\file\area4 I O2:5/1 3/1 332/504.2 .3
  2738.         
  2739.             This is a "reverse" area, where we receive from the listed
  2740.             nodes (area direction 'I') and send to the one marked with
  2741.             'O'.
  2742.         
  2743.         
  2744.             FileArea AREA5 d:\file\area5 * 2:5/1 3/1 332/504.2 .3
  2745.         
  2746.             This is a bidirectional area (direction '*'), where we
  2747.             receive from any of the listed nodes and forward to all the
  2748.             others.
  2749.         
  2750.         
  2751.             FileArea AREA6 d:\file\area6 O #2:332/500 I2:332/596 C555
  2752.         
  2753.             A normal "up-link to down-links" area ('O'); we use
  2754.             2:332/500 as the primary address, accept files from
  2755.             2:332/596 and forward to 2:332/555 with a crash flavoured
  2756.             file attach.
  2757.         
  2758.         
  2759.             FileArea AREA7 d:\file\area7 O S2:332/504.1 10:10/0 *100/1
  2760.         
  2761.             Normal "up-link to down-links" area ('O'); 10:100/1 is the
  2762.             only node enabled to send to us (bidirectional override
  2763.             '*'); we forward to 2:332/504.1 and 10:10/0. If we hatch
  2764.             files, we send to 10:100/1 too, since it is bidirectional.
  2765.             We send the .TIC accompanying files to 2:332/504.1 ('S')
  2766.             even if it had a 'T' flag in its FileLink definition.
  2767.         
  2768.         
  2769.  
  2770.         
  2771.                             COMPRESS DEFINITION FILE
  2772.         
  2773.         
  2774.         The file specified in the CompressCfg statement is a sequence of
  2775.         Archive definition blocks, each one starting with "Archiver" and
  2776.         ending with "End Archiver". You can find an example in the
  2777.         Compress.Cfg file included in the distribution pack.
  2778.         
  2779.         The order of the archive definition blocks within this file may
  2780.         be important: when trying to unpack a compressed file, the list
  2781.         of archivers is scanned in a reverse order.
  2782.         
  2783.         In the case of two archivers that use the same identification
  2784.         string (e.g. ARC and PAK), you must specify the archiver that
  2785.         can unpack both (PAK) after the other one (ARC).
  2786.         
  2787.         The compress.cfg file can be shared between DOS/NT and OS/2
  2788.         applications: the "DOS" and "OS2" keywords are available to
  2789.         distinguish between the commands to be used under DOS/NT and
  2790.         OS/2.
  2791.         
  2792.         O.S. specific archivers or commands must be prefixed with the
  2793.         relevant keyword.
  2794.         
  2795.         IMPORTANT NOTE: The lines that begin with "DOS" or "OS2" are
  2796.         parsed by the DOS/NT and OS/2 versions respectively. If you need
  2797.         the OS/2 version to execute a DOS command, you MUST NOT use the
  2798.         DOS keyword: if you do, it will never parse that line; if you do
  2799.         not, it will execute the DOS command "normally", provided you
  2800.         have installed OS/2's Dos support.
  2801.         
  2802.         See the examples below.
  2803.         
  2804.         
  2805.         Archiver <ARCname>
  2806.         
  2807.                 Starts the Archive definition block.
  2808.         
  2809.                 <ARCname> is the name used to identify this archiver.
  2810.         
  2811.             Example:
  2812.         
  2813.                 Archiver ZIP
  2814.         
  2815.         
  2816.         
  2817.         Extension  <ext>
  2818.         
  2819.                 Specifies the default extension for the compressed
  2820.                 files.
  2821.         
  2822.             Example:
  2823.         
  2824.                 Extension ZIP
  2825.         
  2826.         
  2827.         
  2828.         Ident <ofs>,<ID>
  2829.         
  2830.                 <ofs> is a decimal integer number representing the
  2831.                 offset at which an archive identity marker <ID> must be
  2832.                 present.
  2833.         
  2834.                 Negative values can be used to indicate offsets from the
  2835.                 END of a compressed file. -1 means "the last byte", -2
  2836.                 "the second last byte" and so on.
  2837.         
  2838.                 <ID> is a series of hexadecimal figures which represent
  2839.                 the bytes of the marker string that must be present at
  2840.                 the specified offset of the archive file.
  2841.         
  2842.             Example:
  2843.         
  2844.                 Ident 0,504b0304  ; "PK^c^d"
  2845.         
  2846.         
  2847.         
  2848.         Add <command>
  2849.         
  2850.                 Specifies the command to add files to an archive.
  2851.                 %a and %f are translated to the name of the archive and
  2852.                 file to add.
  2853.         
  2854.             Example:
  2855.         
  2856.                 Add zip -jk %a %f
  2857.         
  2858.         
  2859.         
  2860.         Extract <command>
  2861.         
  2862.                 Specifies the command to extract files from an archive.
  2863.                 %a and %f are translated to the name of the archive and
  2864.                 file to extract.
  2865.         
  2866.             Example:
  2867.         
  2868.                 Extract unzip -qqnjC %a %f
  2869.         
  2870.         
  2871.         
  2872.         View <command>
  2873.         
  2874.                 This line is recognized and accepted for compatibility,
  2875.                 but not used.
  2876.         
  2877.         
  2878.         
  2879.         End Archiver
  2880.         
  2881.                 This statement is used to close a Archive definition.
  2882.         
  2883.         
  2884.                                     Examples
  2885.         
  2886.         
  2887.             Complete example 1 (you need OS/2 only):
  2888.         
  2889.         Archiver ZIP
  2890.              Extension     ZIP
  2891.              Ident         0,504b0304
  2892.              Add           zip -jk %a %f
  2893.              Extract       unzip -qqnjC %a %f
  2894.              View          unzip -v %a
  2895.         End Archiver
  2896.         
  2897.         
  2898.             Complete example 2 (you need DOS only):
  2899.         
  2900.         Archiver ZIP
  2901.              Extension     ZIP
  2902.              Ident         0,504b0304
  2903.              Add           pkzip -a %a %f
  2904.              Extract       pkunzip -n %a %f
  2905.              View          pkzip -v %a
  2906.         End Archiver
  2907.         
  2908.         
  2909.             Complete example 3 (you need both OS/2 and DOS):
  2910.         
  2911.         Archiver ZIP
  2912.              Extension     ZIP
  2913.              Ident         0,504b0304
  2914.         OS2  Add           zip -jk %a %f
  2915.         DOS  Add           pkzip -a %a %f
  2916.         OS2  Extract       unzip -qqnjC %a %f
  2917.         DOS  Extract       pkunzip -n %a %f
  2918.         OS2  View          unzip -v %a
  2919.         DOS  View          pkzip -v %a
  2920.         End Archiver
  2921.         
  2922.         
  2923.             Complete example 4 (archiver to be used under DOS only):
  2924.         
  2925.         DOS Archiver ZOO
  2926.         DOS     Extension       ZOO
  2927.         DOS     Ident           0,5a4f4f                        ; "ZOO"
  2928.         DOS     Add             zoo a: %a %f
  2929.         DOS     Extract         zoo e:O %a %f
  2930.         DOS     View            zoo v %a
  2931.         DOS End Archiver
  2932.         
  2933.         
  2934.             Complete example 5 (it's a DOS executable, to be used under
  2935.                                 DOS or OS/2 indifferently):
  2936.         
  2937.         Archiver ZOO
  2938.              Extension       ZOO
  2939.              Ident           0,5a4f4f                        ; "ZOO"
  2940.              Add             zoo a: %a %f
  2941.              Extract         zoo e:O %a %f
  2942.              View            zoo v %a
  2943.         End Archiver
  2944.  
  2945.         
  2946.                                 TroubleShooting
  2947.         
  2948.         
  2949.         Problem:
  2950.                   NEF does not append to Echotoss.log.
  2951.         
  2952.         Solution:
  2953.                   Make sure that the announcement area is defined with
  2954.                   AreaTag (not AreaPath).
  2955.                   You might also need the SquishCfg keyword, if you want
  2956.                   NEF to automatically retrieve the area Path and type.
  2957.         
  2958.         
  2959.         
  2960.                                S H A R E W A R E
  2961.         
  2962.         
  2963.         If you like this program and continue using it, you should pay
  2964.         the author for his work, as per the ShareWare concept of
  2965.         distribution.
  2966.         
  2967.         Please see LICENSE.DOC and REGISTER.DOC for information.
  2968.         
  2969.         Thank you for your interest in ApWorks programs.
  2970.         
  2971.